DirectSound レンダラ フィルタ

このフィルタは、Microsoft® DirectSound® API を使ってオーディオをレンダリングする。現在、波形サウンドでは既定のオーディオ レンダラとして使われている。

このフィルタは、基本的なレンダリング機能に加え、Microsoft® DirectSound® API 呼び出しも処理できる。サウンド再生を処理するウィンドウを設定および取得するには、IAMDirectSound メソッドを使う。DirectSound オーディオ レンダラは、Microsoft® DirectShow® の既定のオーディオ レンダリング フィルタである。

フィルタ インターフェイス IAMAudioRendererStatsIAMClockSlaveIAMDirectSoundIAMResourceControlIBaseFilterIBasicAudioIDirectSound3DBufferIDirectSound3dListenerIMediaPositionIMediaSeekingIQualityControlIReferenceClock
入力ピン メディア タイプ メジャー タイプ : MEDIATYPE_Audio

サブタイプ :

  • MEDIASUBTYPE_PCM
  • MEDIASUBTYPE_IEEE_FLOAT
  • MEDIASUBTYPE_DOLBY_AC3_SPDIF
  • MEDIASUBTYPE_RAW_SPORT
  • MEDIASUBTYPE_SPDIF_TAG_241h
  • MEDIASUBTYPE_DRM_Audio

フォーマット タイプ : FORMAT_WaveFormatEx

入力ピン インターフェイス IMemInputPinIPinIPinConnectionIQualityControl
出力ピン メディア タイプ 利用できない。
出力ピン インターフェイス 利用できない。
フィルタ 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 をフィルタに問い合わせることもできる。これらのインターフェイスでメソッドを呼び出す前に、グラフを実行すること。