MediaProjection.Callback.OnCapturedContentResize(Int32, Int32) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
@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);
}
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.