マルチチャネルオーディオの読み取り

Windows Media audio 9 Professional コーデックでは、マルチチャンネルオーディオ (3 チャネル以上) をエンコードできます。 マルチチャネルオーディオを使用してファイルを読み取る場合は、出力を適切に構成する必要があります。指定しないと、オーディオが低品質およびステレオで配信されます。 マルチチャネルオーディオ配信の出力を設定するには、g wszEnableDiscreteOutput と g wszSpeakerConfig の2つの出力設定を設定する必要があり _ _ ます。

G _ wszEnableDiscreteOutput を TRUE に設定すると、高解像度オーディオ出力を配信するようにコーデックが設定されます。 高解像度オーディオは、ステレオまたは複数のチャネルで24ビットのサンプルを使用して、Windows Media audio 9 コーデックによってエンコードされます。 この設定が [ FALSE] の場合、16ビットのステレオ出力のみが配信されます。

再生中のコンピューターのスピーカーの数は、g wszSpeakerConfig を使用して設定され _ ます。 この設定は、次の表に示す DirectSound スピーカー定数のいずれかに設定されている DWORD 値です。 これらの定数名をコンパイラで解決するには、dsound を含める必要があります。

一定 説明
DSSPEAKER _ DIRECTOUT 0x00000000 オーディオは、スピーカー用に構成されていなくても、直接渡されます。
DSSPEAKER _ ヘッドフォン 0x00000001 クライアントコンピューターにはヘッドフォンが搭載されています。
DSSPEAKER _ MONO 0x00000002 クライアントコンピューターには、monaural スピーカーが搭載されています。
DSSPEAKER _ QUAD 0x00000003 クライアントコンピューターには、quadraphonic スピーカーが搭載されています。
DSSPEAKER _ ステレオ 0x00000004 クライアントコンピューターには、ステレオスピーカーが搭載されています。
DSSPEAKER _ サラウンド 0x00000005 クライアントコンピューターには、4チャネルのサラウンドサウンドスピーカーが搭載されています。
DSSPEAKER _ 5point1 0x00000006 クライアントコンピューターには、5つのスピーカーとサブウーファーが搭載されています。
DSSPEAKER _ 7point1 0x00000007 クライアントコンピューターには、7つのスピーカーとサブウーファーが搭載されています。

これらの設定を設定するには、 IWMReaderAdvanced2:: SetOutputSettingを使用します。

最後に、チャネルが個別に出力されるようにするには、次の手順に従って、出力に適切なメディアの種類を設定する必要があります。

  1. Iwmreader:: GetOutputFormatCountを呼び出して、関連するオーディオ出力に対してサポートされている形式の数を取得します。 出力形式インデックスは0から始まります。
  2. サポートされている各形式について、 Iwmreader:: GetOutputFormat を呼び出して、出力メディアプロパティオブジェクトの Iwmoutputmediaprops インターフェイスを取得します。
  3. Iwmmediaprops:: GetMediaTypeを呼び出して、メディアの種類を取得します。
  4. 取得したメディアの種類が必要なマルチチャネルの種類である場合は、 Iwmreader:: SetOutputPropsを呼び出して設定します。

不連続出力とスピーカー構成を設定した後、リーダーによって列挙される出力形式には、 WAVEFORMATEXTENSIBLE 構造体を使用するマルチチャネル形式を含める必要があります。 プロパティを設定する前に出力形式を列挙すると、1つまたは2つのチャネルを持つ形式と、チャネルあたり最大16ビットが含まれます。 他のオーディオ形式と同様に、リーダーによって列挙された形式のみを使用する必要があります。独自の構成は行わないでください。

注意

マルチチャネルオーディオを出力できるのは、アプリケーションが microsoft Windows XP 以降のバージョンの microsoft Windows で実行されている場合のみです。

入力、ストリームと出力

ASF ファイルの読み取り

出力設定

High-Resolution PCM オーディオを操作する