MediaProjection.Callback.OnCapturedContentResize(Int32, Int32) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Appelé immédiatement après le début de la capture ou lorsque la taille de la région capturée change, en fournissant le dimensionnement précis de la capture diffusée en continu.
[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
Paramètres
- width
- Int32
Largeur de la région capturée, en pixels.
- height
- Int32
Hauteur de la région capturée, en pixels.
- Attributs
Remarques
Appelé immédiatement après le début de la capture ou lorsque la taille de la région capturée change, en fournissant le dimensionnement précis de la capture diffusée en continu.
La largeur et la hauteur données, exprimées en pixels, correspondent à la même largeur et à la même hauteur qui seraient retournées à partir de android.view.WindowMetrics#getBounds() la région capturée.
Si le contenu enregistré a un rapport d’aspect différent de la ou de la VirtualDisplay sortie Surface, le flux capturé a une boîte à lettres (barres noires) autour du contenu enregistré. L’application peut éviter la boîte de lettres autour du contenu enregistré en mettant à jour la taille de la sortie et de la VirtualDisplay sortie 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);
}
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.