IMFPMediaPlayer::CreateMediaItemFromObject-Methode (mfplay.h)
Erstellt ein Medienelement aus einem -Objekt.
Syntax
HRESULT CreateMediaItemFromObject(
[in] IUnknown *pIUnknownObj,
[in] BOOL fSync,
[in] DWORD_PTR dwUserData,
[out] IMFPMediaItem **ppMediaItem
);
Parameter
[in] pIUnknownObj
Ein Zeiger auf die IUnknown-Schnittstelle des Objekts. Siehe Hinweise.
[in] fSync
Wenn TRUE, blockiert die Methode, bis sie abgeschlossen ist. Bei FALSE wird die -Methode nicht blockiert und asynchron abgeschlossen.
[in] dwUserData
Anwendungsdefinierter Wert, der im Medienelement gespeichert werden soll. Um diesen Wert aus dem Medienelement abzurufen, rufen Sie IMFPMediaItem::GetUserData auf.
[out] ppMediaItem
Empfängt einen Zeiger auf die IMFPMediaItem-Schnittstelle . Der Aufrufer muss die Schnittstelle freigeben. Wenn fSyncAUF TRUE festgelegt ist, muss dieser Parameter ein gültiger Zeiger sein. Wenn bSyncAUF FALSE festgelegt ist, muss dieser Parameter NULL sein.
Rückgabewert
Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
Rückgabecode | Beschreibung |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Ungültiges Argument. |
|
Ungültige Anforderung. Dieser Fehler kann auftreten, wenn fSyncauf FALSE festgelegt ist und die Anwendung keine Rückrufschnittstelle bereitgestellt hat. Siehe Hinweise. |
|
Die Shutdown-Methode des Objekts wurde aufgerufen. |
Hinweise
Der pIUnknownObj-Parameter muss eine der folgenden Angaben angeben:
- Ein Zeiger auf eine Medienquelle. Medienquellen machen die IMFMediaSource-Schnittstelle verfügbar. Es liegt in der Verantwortung des Aufrufers , IMFMediaSource::Shutdown für die Medienquelle aufzurufen.
- Ein Zeiger auf einen Bytestream. Bytestreams machen die IMFByteStream-Schnittstelle verfügbar. Intern ruft die Methode die IMFSourceResolver::CreateObjectFromByteStream-Methode auf, um eine Medienquelle aus dem Bytedatenstrom zu erstellen. Daher muss ein Bytestreamhandler für den Bytedatenstrom registriert werden. Weitere Informationen zu Bytestreamhandlern finden Sie unter Schemahandler und Byte-Stream Handler.
Die CreateMediaItemFromObject-Methode kann entweder synchron oder asynchron aufgerufen werden:
- Wenn fSyncAUF TRUE festgelegt ist, wird die -Methode synchron abgeschlossen. Der IMFPMediaItem-Zeiger wird im ppMediaItem-Parameter zurückgegeben.
- Wenn fSyncauf FALSE festgelegt ist, wird die -Methode asynchron abgeschlossen. Nach Abschluss des Vorgangs wird die IMFPMediaPlayerCallback::OnMediaPlayerEvent-Rückrufmethode der Anwendung aufgerufen. Der Ereignistyp ist MFP_EVENT_TYPE_MEDIAITEM_CREATED. Die Ereignisdaten enthalten den IMFPMediaItem-Zeiger für das neue Medienelement.
Wenn Sie mehrere asynchrone Aufrufe von CreateMediaItemFromObject durchführen, wird nicht garantiert, dass diese in derselben Reihenfolge ausgeführt werden. Verwenden Sie den dwUserData-Parameter , um erstellte Medienelemente mit ausstehenden Anforderungen abzugleichen.
Konfigurieren der Quelle
Wenn pIUnknownObj auf einen Bytedatenstrom zeigt, können Sie die Medienquelle konfigurieren, indem Sie die folgenden Schritte ausführen:- Rufen Sie QueryInterface auf dem IMFPMediaPlayer-Zeiger auf, um die IPropertyStore-Schnittstelle abzurufen.
- Rufen Sie IPropertyStore::SetValue auf, um Eigenschaften für die Medienquelle festzulegen. Eine Liste der Konfigurationseigenschaften finden Sie unter Konfigurieren einer Medienquelle. Medienquellen von Drittanbietern können benutzerdefinierte Eigenschaften definieren.
- Rufen Sie die CreateMediaItemFromObject-Methode auf, um das Medienelement zu erstellen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | mfplay.h |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für