MediaCapture.SetEncodingPropertiesAsync 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.
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.