Idioma

MediaProjection.Callback.OnCapturedContentResize(Int32, Int32) Método

Definição

Invocado imediatamente após o início da captura ou quando o tamanho da região capturada é alterado, fornecendo o dimensionamento preciso para a captura transmitida.

[Android.Runtime.Register("onCapturedContentResize", "(II)V", "GetOnCapturedContentResize_IIHandler", ApiSince=34)]
public virtual void OnCapturedContentResize(int width, int height);
[<Android.Runtime.Register("onCapturedContentResize", "(II)V", "GetOnCapturedContentResize_IIHandler", ApiSince=34)>]
abstract member OnCapturedContentResize : int * int -> unit
override this.OnCapturedContentResize : int * int -> unit

Parâmetros

width
Int32

A largura da região capturada, em pixels.

height
Int32

A altura da região capturada, em pixels.

Atributos

Comentários

Invocado imediatamente após o início da captura ou quando o tamanho da região capturada é alterado, fornecendo o dimensionamento preciso para a captura transmitida.

A largura e a altura fornecidas, em pixels, correspondem à mesma largura e altura que seriam retornadas da android.view.WindowMetrics#getBounds() região capturada.

Se o conteúdo gravado tiver uma taxa de proporção diferente da saída ou da VirtualDisplay saída Surface, o fluxo capturado terá caixas de correio (barras pretas) ao redor do conteúdo gravado. O aplicativo pode evitar o caixa de correio em torno do conteúdo gravado atualizando o tamanho da saída e da VirtualDisplay saída Surface:

&#x40;Override
            public String onCapturedContentResize(int width, int height) {
                // VirtualDisplay instance from MediaProjection#createVirtualDisplay
                virtualDisplay.resize(width, height, dpi);

                // Create a new Surface with the updated size (depending on the application's use
                // case, this may be through different APIs - see Surface documentation for
                // options).
                int texName; // the OpenGL texture object name
                SurfaceTexture surfaceTexture = new SurfaceTexture(texName);
                surfaceTexture.setDefaultBufferSize(width, height);
                Surface surface = new Surface(surfaceTexture);

                // Ensure the VirtualDisplay has the updated Surface to send the capture to.
                virtualDisplay.setSurface(surface);
            }

Java documentação para android.media.projection.MediaProjection.Callback.onCapturedContentResize(int, int).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a