MediaProjection.Callback.OnCapturedContentResize(Int32, Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wird unmittelbar nach Beginn der Erfassung aufgerufen oder wenn sich die Größe des erfassten Bereichs ändert, wobei die genaue Größenanpassung für die gestreamte Erfassung bereitgestellt wird.
[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
Parameter
- width
- Int32
Die Breite des erfassten Bereichs in Pixel.
- height
- Int32
Die Höhe des erfassten Bereichs in Pixeln.
- Attribute
Hinweise
Wird unmittelbar nach Beginn der Erfassung aufgerufen oder wenn sich die Größe des erfassten Bereichs ändert, wobei die genaue Größenanpassung für die gestreamte Erfassung bereitgestellt wird.
Die angegebene Breite und Höhe in Pixel entspricht der gleichen Breite und Höhe, die aus android.view.WindowMetrics#getBounds() dem erfassten Bereich zurückgegeben würde.
Wenn der aufgezeichnete Inhalt ein anderes Seitenverhältnis von dem oder der VirtualDisplay Ausgabe Surfaceaufweist, weist der erfasste Datenstrom letterboxing (schwarze Balken) um den aufgezeichneten Inhalt herum auf. Die Anwendung kann das Letterboxing um den aufgezeichneten Inhalt vermeiden, indem die Größe der Beiden und der VirtualDisplay Ausgabe Surfaceaktualisiert wird:
@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);
}
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.