DirectSound 呈现器筛选器
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
此筛选器使用 DirectSound 呈现音频。 此筛选器当前是波形声音的默认音频呈现器。
除了基本的声音呈现功能外,此筛选器还可以处理 DirectSound API 调用。 使用 IAMDirectSound 方法来设置和检索将处理声音播放的窗口。 DirectSound 音频呈现器是 DirectShow 的默认音频呈现筛选器。
Label | 值 |
---|---|
筛选器接口 | IAMAudioRendererStats、 IAMClockSlave、 IAMDirectSound、 IAMResourceControl、 IBaseFilter、 IBasicAudio、 IDirectSound3DBuffer、 IDirectSound3dListener、 IMediaPosition、 IMediaSeeking、 IQualityControl、 IReferenceClock |
输入引脚媒体类型 | 主要类型:MEDIATYPE_AudioSubtypes:
|
输入引脚接口 | IMemInputPin、 IPin、 IPinConnection、 IQualityControl |
输出引脚媒体类型 | 不适用。 |
输出引脚接口 | 不适用。 |
筛选器 CLSID | CLSID_DSoundRender |
属性页 CLSID | CLSID_AudioProperties、CLSID_AudioRendererAdvancedProperties |
可执行文件 | quartz.dll |
优点 | MERIT_PREFERRED |
筛选器类别 | CLSID_AudioRendererCategory |
备注
此筛选器充当音频设备的包装器。 若要枚举用户系统上可用的音频设备,请将 ICreateDevEnum 接口与音频呈现器类别 (CLSID_AudioRendererCategory) 。 对于每个音频设备,音频呈现器类别包含两个筛选器实例。 其中一个对应于 DirectSound 呈现器,另一个对应于 音频呈现器 (WaveOut) 筛选器。 DirectSound 实例的友好名称为“DirectSound: DeviceName”,其中 DeviceName 是设备的名称。 WaveOut 实例具有友好名称 DeviceName。
音频呈现器类别包含两个附加的筛选器实例,名为“默认 DirectSound 设备”和“默认 WaveOut 设备”。这些设备对应于用户通过控制面板选择的默认声音设备。 它们实际上是映射到上一段中描述的对之一。 例如,如果系统有两个音频设备(设备 A 和设备 B),则音频呈现器类别将包含以下内容:
- 设备 A
- DirectSound:设备 A
- 设备 B
- DirectSound:设备 B
- 默认 DirectSound 设备
- 默认 WaveOut 设备
如果用户选择设备 A 作为默认设备,则“默认 DirectSound 设备”等效于“DirectSound:设备 A”,而“默认 WaveOut 设备”等效于“设备 A”。如果用户选择设备 B 作为默认设备,则这些映射将更改。
分配了“默认 DirectSound 设备”MERIT_PREFERRED。 其他人有优点MERIT_DO_NOT_USE。 因此,智能连接将始终选择默认 DirectSound 设备。
DirectSound 呈现器筛选器通过 DirectSound IDirectSound3DBuffer 和 IDirectSound3dListener 接口支持 3D 声音。 还可以查询这些接口的当前版本 IDirectSound3DBuffer8 和 IDirectSound3dListener8 的筛选器。 在这些接口上调用方法之前,请运行图形。