IMFPMediaPlayer::CreateMediaItemFromObject メソッド (mfplay.h)
オブジェクトからメディア項目を作成します。
構文
HRESULT CreateMediaItemFromObject(
[in] IUnknown *pIUnknownObj,
[in] BOOL fSync,
[in] DWORD_PTR dwUserData,
[out] IMFPMediaItem **ppMediaItem
);
パラメーター
[in] pIUnknownObj
オブジェクトの IUnknown インターフェイスへのポインター。 「解説」を参照してください。
[in] fSync
TRUE の場合、メソッドは完了するまでブロックします。 FALSE の場合、メソッドはブロックされず、非同期的に完了します。
[in] dwUserData
メディア項目に格納するアプリケーション定義の値。 メディア アイテムからこの値を取得するには、 IMFPMediaItem::GetUserData を呼び出します。
[out] ppMediaItem
IMFPMediaItem インターフェイスへのポインターを受け取ります。 呼び出し元はインターフェイスを解放する必要があります。 fSync が TRUE の場合、このパラメーターは有効なポインターである必要があります。 bSync が FALSE の場合、このパラメーターは NULL である必要があります。
戻り値
このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
引数が無効です。 |
|
無効な要求です。 このエラーは、 fSync が FALSE で、アプリケーションがコールバック インターフェイスを提供しなかった場合に発生する可能性があります。 「解説」を参照してください。 |
|
オブジェクトの Shutdown メソッドが呼び出されました。 |
解説
pIUnknownObj パラメーターは、次のいずれかを指定する必要があります。
- メディア ソースへのポインター。 メディア ソースは、 IMFMediaSource インターフェイスを公開します。 メディア ソースで IMFMediaSource::Shutdown を呼び出すのは呼び出し元の責任です。
- バイト ストリームへのポインター。 バイト ストリームは、 IMFByteStream インターフェイスを公開します。 メソッドは内部的に IMFSourceResolver::CreateObjectFromByteStream メソッドを呼び出して、バイト ストリームからメディア ソースを作成します。 したがって、バイト ストリーム ハンドラーをバイト ストリームに登録する必要があります。 バイト ストリーム ハンドラーの詳細については、「 スキーム ハンドラー」と「Byte-Stream ハンドラー」を参照してください。
CreateMediaItemFromObject メソッドは、同期的または非同期的に呼び出すことができます。
- fSync が TRUE の場合、メソッドは同期的に完了します。 IMFPMediaItem ポインターは、ppMediaItem パラメーターで返されます。
- fSync が FALSE の場合、メソッドは非同期的に完了します。 操作が完了すると、アプリケーションの IMFPMediaPlayerCallback::OnMediaPlayerEvent コールバック メソッドが呼び出されます。 イベントの種類が MFP_EVENT_TYPE_MEDIAITEM_CREATED。 イベント データには、新しいメディア項目の IMFPMediaItem ポインターが含まれています。
CreateMediaItemFromObject に対して複数の非同期呼び出しを行う場合、同じ順序で完了することは保証されません。 dwUserData パラメーターを使用して、作成されたメディア項目と保留中の要求を照合します。
ソースの構成
pIUnknownObj がバイト ストリームを指している場合は、次の手順を実行してメディア ソースを構成できます。- IPropertyStore インターフェイスを取得するには、IMFPMediaPlayer ポインターで QueryInterface を呼び出します。
- IPropertyStore::SetValue を呼び出して、メディア ソースのプロパティを設定します。 構成プロパティの一覧については、「 メディア ソースの構成」を参照してください。 サード パーティのメディア ソースでは、カスタム プロパティを定義できます。
- CreateMediaItemFromObject メソッドを呼び出して、メディア アイテムを作成します。
要件
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mfplay.h |
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示