Lenguaje

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

Definición

Se invoca inmediatamente después de que la captura comience o cuando cambie el tamaño de la región capturada, lo que proporciona el ajuste de tamaño preciso para la 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

Ancho de la región capturada, en píxeles.

height
Int32

Alto de la región capturada, en píxeles.

Atributos

Comentarios

Se invoca inmediatamente después de que la captura comience o cuando cambie el tamaño de la región capturada, lo que proporciona el ajuste de tamaño preciso para la captura transmitida.

El ancho y alto especificados, en píxeles, corresponde al mismo ancho y alto que se devolvería de android.view.WindowMetrics#getBounds() la región capturada.

Si el contenido grabado tiene una relación de aspecto diferente de la VirtualDisplay salida Surfaceo , la secuencia capturada tiene letrasboxing (barras negras) alrededor del contenido grabado. La aplicación puede evitar la bandeja de letras alrededor del contenido grabado actualizando el tamaño de y VirtualDisplay: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 documentación para android.media.projection.MediaProjection.Callback.onCapturedContentResize(int, int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a