リーダー オブジェクト
[このページに関連付けられている機能である Windows Media Format 11 SDK は、レガシ機能です。 これは、ソース リーダーとシンク ライターによって置き換えられます。 ソース リーダーとシンク ライターは、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、Windows Media Format 11 SDK ではなくソース リーダーとシンク ライターを使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
リーダー オブジェクトは、メディア ファイルからデータ サンプルを読み取ります。 リーダー オブジェクトは現在、高度なシステム形式 (ASF) ファイル構造と MP3 ファイルを使用するファイルをサポートしています。 リーダー オブジェクトによって配信されるデータは圧縮されず、既定ではレンダリングの準備が整っていますが、必要に応じて解凍せずにサンプルを配信できます。 サンプルはリーダー オブジェクトから非同期的に配信されます。それらを受信するには、コールバック関数を設定する必要があります。 ASF ファイルの同期再生には、同期リーダー オブジェクトを使用します。 リーダーと同期リーダーはどちらもデータをレンダリングしません。 ファイルから取得したメディアを表示するには、独自のレンダリング ルーチンを指定する必要があります。
リーダー オブジェクトでサポートされているコーデックでデコードできるエンコードされたメディアがファイルに含まれている場合は、圧縮されていない出力の形式を制御できます。 ストリームの圧縮解除された出力の形式を変更するには、そのストリームの既定の出力メディア プロパティ オブジェクトを取得し、変更を加えて、リーダー内のストリームに再割り当てする必要があります。 出力メディア プロパティ オブジェクトはリーダー オブジェクトに従属し、 IWMReader::GetOutputProps メソッドを使用してのみ作成する必要があります。
リーダー オブジェクトは、IWMReader インターフェイスへのポインターを設定する関数 WMCreateReader によって作成されます。 リーダー オブジェクトの他のインターフェイスは、 QueryInterface メソッドを呼び出すことで取得できます。
リーダー オブジェクトでは、次のインターフェイスがサポートされています。
インターフェイス | 説明 |
---|---|
IReferenceClock | リーダーによって使用されるシステム クロックへのアクセスを提供します。 |
IWMDRMReader | ライセンス取得、 DRM プロパティ、およびクライアントの個別化を管理します。 |
IWMDRMReader2 | 出力保護レベル (OPL) を使用して権限を指定するライセンスへのアクセスを提供します。 |
IWMHeaderInfo | メタデータ、 マーカー、スクリプト データなどのヘッダー情報を設定および取得します。 |
IWMHeaderInfo2 | ファイル内のコンテンツのエンコードに使用されたコーデックに関する情報を取得します。 IWMHeaderInfo のすべてのメソッドを継承します。 |
IWMHeaderInfo3 | 大きな属性サイズ、重複する属性名、および複数の言語のサポートをサポートします。 IWMHeaderInfo および IWMHeaderInfo2 のすべてのメソッドを継承します。 |
IWMPacketSize | リーダーに読み込まれたファイル内の最大パケットのサイズを取得します。 |
IWMPacketSize2 | リーダーに読み込まれたファイル内の最小パケットのサイズを取得します。 |
IWMProfile | リーダーに読み込まれたファイルのプロファイル情報へのアクセスを提供します。 |
IWMProfile2 | プロファイルに関連付けられているグローバル一意識別子 (GUID) (存在する場合) を取得します。 IWMProfile のすべてのメソッドを継承します。 |
IWMProfile3 | プロファイル内の帯域幅共有とストリームの優先順位付け情報をサポートします。 IWMProfile と IWMProfile2 のすべてのメソッドを継承します。 |
IWMReader | 開く、閉じる、開始、一時停止、再開、停止、出力プロパティの取得と設定などの操作を含む、基本的なファイル読み取り機能を提供します。 |
IWMReaderAccelerator | DirectX ビデオ アクセラレーションと通信します。 |
IWMReaderAdvanced | ユーザー指定のクロック、バッファー割り当て、戻り値統計、ストリーム選択通知など、リーダーの高度な機能を提供します。 |
IWMReaderAdvanced2 | 既存のリーダー オブジェクトに対して追加の高度なメソッドの範囲を提供します。 IWMReaderAdvanced のすべてのメソッドを継承します。 |
IWMReaderAdvanced3 | 高度なシークとストリーミングの制御を提供します。 IWMReaderAdvanced および IWMReaderAdvanced2 のすべてのメソッドを継承します。 |
IWMReaderAdvanced4 | 複数の言語サポートを含む高度なリーダー オプションを提供します。 IWMReaderAdvanced、IWMReaderAdvanced2、および IWMReaderAdvanced3 のすべてのメソッドを継承します。 |
IWMReaderNetworkConfig | ネットワーク構成設定を制御します。 |
IWMReaderNetworkConfig2 | 高度なネットワーク構成設定へのアクセスを提供します。 IWMReaderNetworkConfig のすべてのメソッドを継承します。 |
IWMReaderStreamClock | ストリーム クロックのタイマーを設定および取り消し、指定したストリーム クロックの現在の値を取得します。 |
IWMReaderTimecode | リーダーに読み込まれたファイル内の SMPTE 時間コード範囲に関する情報を提供します。 |
IWMReaderTypeNegotiation | ストリームの出力プロパティに対する変更が正しく機能しているかどうかをテストします。 |
リーダー オブジェクトの進行状況を追跡するために、次のコールバック インターフェイスをアプリケーションに実装できます。
インターフェイス | 説明 |
---|---|
IWMCredentialCallback | ユーザーの資格情報を取得し、リモート サイトにアクセスするためのアクセス許可があることを確認します。 |
IWMReaderAllocatorEx | IWMReaderCallbackAdvanced インターフェイスの AllocateForOutput メソッドと AllocateForStream メソッドの拡張された代替手段を提供します。 |
IWMReaderCallback | IWMReader の Start メソッドと Open メソッドのコールバック メソッドを提供します。 |
IWMReaderCallbackAdvanced | IWMReaderAdvanced インターフェイスのメソッドのコールバック メソッドを提供します。 |
IWMStatusCallback | 状態情報をホスト アプリケーションに伝達する必要がある場合に必要です。 |
関連トピック