次の方法で共有


出力形式の割り当て

一部のコーデックでは、デジタル メディア データを複数の圧縮されていない形式に圧縮解除できます。 非同期リーダーまたは同期リーダーを使用して、特定の出力でサポートされているすべての形式を見つけることができます。

出力に使用できるすべての形式を調べるには、次の手順を実行します。 これらのプロシージャは、非同期リーダーと同期リーダーの両方で同じです。 インターフェイス名が異なる場合、同期リーダー メソッドは、非同期リーダーのメソッドの後にかっこで囲まれて一覧表示されます。

  1. リーダー オブジェクトを作成し、読み取り用のファイルを読み込みます。 詳細については、「 リーダーを作成してファイルを開くには (または 同期リーダーを作成してファイルを開くには)」を参照してください。

  2. 使用可能な形式を検索する出力を決定します。 使用する出力がわからない場合は、「出力番号を識別するには」の手順を使用して、ファイル内の 出力を識別できます。

  3. IWMReader::GetOutputFormatCount (または IWMSyncReader::GetOutputFormatCount) を呼び出して、目的の出力に使用できる形式の合計数を取得します

  4. 使用可能な形式を一度に 1 つずつループ処理し、それぞれに対して次の手順を実行します。

    • IWMReader::GetOutputFormat (または IWMSyncReader::GetOutputFormat) を呼び出して、現在の出力形式の IWMOutputMediaProps インターフェイスを取得します。

    • IWMMediaProps::GetMediaType を 2 回呼び出して、出力形式のWM_MEDIA_TYPE構造を取得します。 構造体のサイズを取得する最初の呼び出しを行い、その構造体にメモリを割り当て、2 番目の呼び出しで割り当てられたメモリへのポインターを渡します。

    • 出力形式のメディア サブタイプを WM_MEDIA_TYPE.subtype で検索します。

    • ビデオの場合、現在のサブタイプが出力に使用する形式である場合は、ループから抜け出します。 それ以外の場合は、次のイテレーションに進みます。

      オーディオの場合は、要件に合わせて WAVEFORMATEX 構造体の値をチェックする必要があります。 WM_MEDIA_TYPE.pbFormat は、オーディオ出力の WAVEFORMATEX 構造体を指します。

  5. 必要な出力が見つかったら、 IWMReader::SetOutputProps (または IWMSyncReader::SetOutputProps ) を呼び出して、リーダーで使用されるように設定 します。 ループの最初のステップで取得した IWMOutputMediaProps インターフェイスへのポインターを渡す必要があります。

IWMMediaProps インターフェイス

IWMOutputMediaProps インターフェイス

IWMReader インターフェイス

IWMSyncReader インターフェイス

出力の操作