PCM オーディオHigh-Resolution操作する
[このページに関連付けられている機能である Windows Media Format 11 SDK は、従来の機能です。 ソース リーダーとシンク ライターに置き換わりました。 ソース リーダーとシンク ライターは、Windows 10とWindows 11用に最適化されています。 Microsoft では、可能であれば、新しいコードで Windows Media Format 11 SDK ではなくソース リーダーとシンク ライターを使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
Windows Media Audio 9 Professional コーデックと Windows Media Audio 9 ロスレス コーデックの入力形式の一部は、高解像度の PCM 形式です。 これらは、2 つ以上のチャネル、またはサンプルあたり 16 ビットを超える PCM 形式です (2 つ以上のチャネルを持つオーディオはマルチチャネル オーディオとも呼ばれます)。
これらの形式は、WAVEFORMATEXTENSIBLE と呼ばれる WAVEFORMATEX 構造体の構造化された拡張を使用して構成されます。 WAVEFORMATEXTENSIBLE 構造体には、オーディオに含まれるチャネルに関する情報が含まれています。 この構造は、高解像度の PCM オーディオを使用する場合に必要です。一部の Windows API では、高解像度の値を含む WAVEFORMATEX 構造体を受け入れないためです。
高解像度 PCM 形式には 22 バイトの拡張データがあり、WAVEFORMATEX 構造体の cbSize メンバーで指定されます。 高解像度の Windows Media オーディオ形式では 、WAVEFORMATEXTENSIBLE 構造体は使用されませんが、 WAVEFORMATEX 構造体に拡張データが追加されています。
Windows Media オーディオ コーデックは、アプリケーションが Windows XP 以降で実行されている場合にのみ、高解像度 PCM 形式へのデコードをサポートします。 以前のバージョンの Microsoft Windows では、コーデックは、サンプルあたり最大 16 ビットと 2 チャネルの形式にデコードされます。 さらに、IWMReaderAdvanced2::SetOutputSetting メソッドを使用してg_wszEnableDiscreteOutput出力設定を TRUE に設定して、コーデックを高解像度 PCM にデコードするように指定する必要があります。 この呼び出しを行った後、リーダーによって列挙された出力には、高解像度の形式が含まれます。
マルチチャンネル オーディオには、より多くの構成が必要です。 詳細については、「 マルチチャネル オーディオの読み取り」を参照してください。
関連トピック