オーディオ エンコードの構成 (Microsoft Media Foundation)
Windows Media Audio エンコーダーは、サポートされているすべての出力の種類を完全な形式で列挙します。 IMediaObject::GetOutputType または IMFTransform::GetAvailableOutputType を呼び出して目的の型を取得し、IMediaObject::SetOutputType または IMFTransform::SetOutputType を呼び出して、取得した型を変更されていない出力型として設定します。
エンコーダーのプロパティが構成されると、オーディオ エンコーダーでサポートされる出力メディアの種類が変更されます。 出力の種類を列挙する前に、使用するすべてのエンコーダー プロパティを構成する必要があります。
2 パス モードと VBR モードはオーディオ エンコーダーでサポートされていますが、ビデオの場合とは異なる方法で構成されます。 詳細については、「 特定のエンコード モードのオーディオの種類の列挙」を参照してください。
オーディオ エンコーダーでサポートされている入力の種類は、出力の種類を設定するまで使用できません。 出力の種類を設定する前に IMediaObject::GetInputType または IMFTransform::GetInputType を呼び出すと、メソッドはそれぞれDMO_E_NO_MORE_ITEMSまたはMFT_E_NO_MORE_TYPESを返します。 出力の種類が設定されると、エンコーダーは、選択した出力の種類に対してサポートされている入力の種類を列挙します。
Windows Media Audio エンコーダーによってオーディオのリサンプリングは実行されません。 つまり、エンコーダーの出力の種類とエンコーダーの入力の種類には、同じ数のチャネル、サンプルあたりのビット数、およびサンプル レートが必要です。 詳細については、「 オーディオ エンコーダー出力の種類の検索」を参照してください。
注意
オーディオ エンコーダーによって列挙される各出力の種類には、拡張データが追加された WAVEFORMATEX 構造体 ( AM_MEDIA_TYPE.pbFormat によって指されます) が含まれています。 拡張データのサイズは 、WAVEFORMATEX.cbSize によって指定されます。 このデータは、デコーダーに配信できるように、エンコードされたコンテンツと共に保持する必要があります。 拡張フォーマット・データがないと、コンテンツを圧縮解除することはできません。
関連トピック