DirectSound レンダラ フィルタ
このフィルタは、Microsoft® DirectSound® API を使ってオーディオをレンダリングする。現在、波形サウンドでは既定のオーディオ レンダラとして使われている。
このフィルタは、基本的なレンダリング機能に加え、Microsoft® DirectSound® API 呼び出しも処理できる。サウンド再生を処理するウィンドウを設定および取得するには、IAMDirectSound メソッドを使う。DirectSound オーディオ レンダラは、Microsoft® DirectShow® の既定のオーディオ レンダリング フィルタである。
フィルタ インターフェイス | IAMAudioRendererStats、IAMClockSlave、IAMDirectSound、IAMResourceControl、IBaseFilter、IBasicAudio、IDirectSound3DBuffer、IDirectSound3dListener、IMediaPosition、IMediaSeeking、IQualityControl、IReferenceClock |
入力ピン メディア タイプ | メジャー タイプ : MEDIATYPE_Audio
サブタイプ :
フォーマット タイプ : FORMAT_WaveFormatEx |
入力ピン インターフェイス | IMemInputPin、IPin、IPinConnection、IQualityControl |
出力ピン メディア タイプ | 利用できない。 |
出力ピン インターフェイス | 利用できない。 |
フィルタ CLSID | CLSID_DSoundRender |
プロパティ ページ CLSID | CLSID_AudioProperties、CLSID_AudioRendererAdvancedProperties |
実行モジュール | quartz.dll |
メリット | MERIT_PREFERRED |
フィルタ カテゴリ | CLSID_AudioRendererCategory |
注意
このフィルタは、オーディオ デバイスのラッパーとして動作する。ユーザーのシステムで使用可能なオーディオ デバイスを列挙するには、 オーディオ レンダラ カテゴリ (CLSID_AudioRendererCategory) で ICreateDevEnum インターフェイスを使う。各オーディオ デバイスについて、オーディオ レンダラ カテゴリには 2 つのフィルタ インスタンスが含まれる。1 つは DirectSound レンダラに対応し、もう 1 つはオーディオ レンダラ (WaveOut) フィルタに対応する。DirectSound インスタンスのフレンドリ名は "DirectSound: DeviceName" で、DeviceName にはデバイス名が入る。WaveOut インスタンスのフレンドリ名は DeviceName となる。
オーディオ レンダラ カテゴリには、さらに "Default DirectSound Device" および "Default WaveOut Device" という 2 つのフィルタ インスタンスが含まれている。これらは、ユーザーがコントロール パネルで選択した既定サウンド デバイスに対応している。これらは実際は、前の段落で説明したうちの 1 つへのマッピングである。たとえば、システムに Device A および Device B の 2 つのオーディオ デバイスがある場合、オーディオ レンダラ カテゴリには以下が含まれる。
- Device A
- DirectSound:Device A
- Device B
- DirectSound:Device B
- 既定 DirectSound デバイス
- 既定 WaveOut デバイス
ユーザーが既定デバイスとして Device A を選択した場合、"Default DirectSound Device" は "DirectSound: Device A" となり、"Default WaveOut Device" は "Device A" となる。ユーザーが既定デバイスとして Device B を選択した場合、これらのマッピングは変更される。
"Default DirectSound Device" には MERIT_PREFERRED メリットが割り当てられる。もう一方には MERIT_DO_NOT_USE メリット値が割り当てられる。このため、インテリジェント接続は常に既定の DirectSound デバイスを選択する。
DirectSound レンダラ フィルタは、DirectSound の IDirectSound3DBuffer および IDirectSound3dListener インターフェイスによって 3D サウンドをサポートしている。また、これらのインターフェイスの現在のバージョンである IDirectSound3DBuffer8 および IDirectSound3dListener8 をフィルタに問い合わせることもできる。これらのインターフェイスでメソッドを呼び出す前に、グラフを実行すること。