Freigeben über


MediaCapture.SetEncodingPropertiesAsync Methode

Definition

Legt die Mediencodierungseigenschaften asynchron fest.

public:
 virtual IAsyncAction ^ SetEncodingPropertiesAsync(MediaStreamType mediaStreamType, IMediaEncodingProperties ^ mediaEncodingProperties, MediaPropertySet ^ encoderProperties) = SetEncodingPropertiesAsync;
IAsyncAction SetEncodingPropertiesAsync(MediaStreamType const& mediaStreamType, IMediaEncodingProperties const& mediaEncodingProperties, MediaPropertySet const& encoderProperties);
public IAsyncAction SetEncodingPropertiesAsync(MediaStreamType mediaStreamType, IMediaEncodingProperties mediaEncodingProperties, MediaPropertySet encoderProperties);
function setEncodingPropertiesAsync(mediaStreamType, mediaEncodingProperties, encoderProperties)
Public Function SetEncodingPropertiesAsync (mediaStreamType As MediaStreamType, mediaEncodingProperties As IMediaEncodingProperties, encoderProperties As MediaPropertySet) As IAsyncAction

Parameter

mediaStreamType
MediaStreamType

Der Typ der Mediendaten, die der Stream darstellt, z. B. Video oder Audio.

mediaEncodingProperties
IMediaEncodingProperties

Die Eigenschaften für die Mediencodierung.

encoderProperties
MediaPropertySet

Die Eigenschaften für den Encoder.

Gibt zurück

Objekt, das zum Steuern des asynchronen Vorgangs verwendet wird.

Windows-Anforderungen

App-Funktionen
backgroundMediaRecording

Hinweise

Diese Methode legt die Codierungseigenschaften des Encoders fest, der die Daten verarbeitet, bevor sie an ein CaptureElement übergeben werden, um angezeigt, in einen IRandomAccessStream oder StorageFile geschrieben oder an eine benutzerdefinierte Mediensenke übermittelt zu werden. Diese Methode ändert nicht die Konfiguration der Quelle der Daten, d. h. das Kameragerät. Es ist möglich, die Codierungseigenschaften auf eine Auflösung festzulegen, die von der Kamera nicht nativ unterstützt wird. In diesem Fall verwendet die MediaCapture-Pipeline einen Encoder, um die Konvertierung in das angeforderte Format durchzuführen. Beachten Sie, dass diese Konvertierung Systemressourcen beansprucht und zu einer schlechten Leistung oder sogar zu Fehlern führen kann, insbesondere auf Geräten mit eingeschränkter oder keiner Grafikbeschleunigung. Für typische Szenarien empfiehlt es sich, eine von der Kamera unterstützte Auflösung zu wählen, die ihrer gewünschten Auflösung am nächsten kommt. Sie können eine Liste der unterstützten Auflösungen eines Aufnahmegeräts abrufen, indem Sie VideoDeviceController.GetAvailableMediaStreamProperties aufrufen. Weitere Informationen finden Sie unter Festlegen von Format, Auflösung und Bildrate für MediaCapture und kameraauflösungsbeispiel.

Hinweis

SetEncodingPropertiesAsync ist nur erfolgreich, wenn sich der Standardvorschaustream in einem Streamingzustand befindet, d. h. nachdem StartPreviewAsync erfolgreich aufgerufen wurde. Wenn SetEncodingPropertiesAsync aufgerufen wird, während das MediaCapture-Objekt Video von einer MediaFrameSource über ein MediaPlayerElement oder MediaFrameReader streamt, schlägt dieser Aufruf fehl.

Um den Datensatz oder Vorschaudatenstrom zu rotieren, verwenden Sie die von MF_MT_VIDEO_ROTATION definierte GUID, um dem Stream Metadaten hinzuzufügen. Beachten Sie, dass diese Drehung vom Consumer des Streams ausgeführt wird, z. B. das CaptureElement oder eine Videoplayer-App, während die tatsächlichen Pixel im Stream weiterhin ihre ursprüngliche Ausrichtung behalten. Anleitungen zur Handhabung der Ausrichtung bei Verwendung der Kamera finden Sie unter Behandeln der Geräteausrichtung mit MediaCapture.

Um die Eigenschaften des Aufnahmegeräts zu ändern, verwenden Sie VideoDeviceController.SetMediaStreamPropertiesAsync.

Gilt für:

Weitere Informationen