出力番号を識別するには
[このページに関連付けられている機能である Windows Media Format 11 SDK は、従来の機能です。 ソース リーダーとシンク ライターに置き換わりました。 ソース リーダーとシンク ライターは、Windows 10とWindows 11用に最適化されています。 Microsoft では、可能であれば、新しいコードで Windows Media Format 11 SDK ではなくソース リーダーとシンク ライターを使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
読み込まれたファイルの出力番号を識別するには、次の手順を実行します。 これらのプロシージャは、非同期リーダーと同期リーダーの両方で同じです。 インターフェイス名が異なる場合、同期リーダー メソッドは、非同期リーダーのメソッドの後にかっこで囲まれて一覧表示されます。
- リーダー オブジェクトを作成し、読み取り用のファイルを読み込みます。 詳細については、「 リーダーを作成してファイルを開くには (または 同期リーダーを作成してファイルを開くには)」を参照してください。
- IWMReader::GetOutputCount (または IWMSyncReader::GetOutputCount) を呼び出して、ファイルの出力の合計数を取得します。
- 出力を一度に 1 つずつループ処理し、それぞれに対して次の手順を実行します。
- IWMReader::GetOutputProps (または IWMSyncReader::GetOutputProps) の呼び出しを使用して、現在の出力の IWMOutputMediaProps インターフェイスを取得します。
- IWMMediaProps::GetMediaType を 2 回呼び出して、出力のWM_MEDIA_TYPE構造を取得します。 構造体のサイズを取得する最初の呼び出しを行い、その構造体にメモリを割り当て、2 番目の呼び出しで割り当てられたメモリへのポインターを渡します。 または、 IWMMediaProps::GetType を呼び出すことができます。これにより、 WM_MEDIA_TYPE 構造体にメモリを割り当てる必要なく、メジャー型が提供されます。 間違ったメジャー型の出力をスキップできます。
- WM_MEDIA_TYPE構造体からメジャー メディアの種類とメディア サブタイプを取得します。 これらの値は、それぞれ データ メンバーの majortype と サブタイプ に格納されます。
- WM_MEDIA_TYPE.formattype の値を確認します。 これは、 WM_MEDIA_TYPE.pbFormat のバッファーに含まれる構造体の種類を指定します。 形式の種類の詳細については、「 メディアの種類」を参照してください。
- 前の手順で識別した型の構造を保持するメモリを割り当てます。 構造体を割り当てられたメモリにコピーします。 オーディオとビデオの場合、この構造により、データのレンダリング方法に関する重要な情報が提供されます。
同期リーダーには、出力番号とストリーム番号の間の関連付けを取得するメソッドも用意されています。 詳細については、「 ストリーム番号と出力番号を検索するには」を参照してください。
関連トピック