将音频引导到特定设备

时间:2012-05-31 10:21:08

标签: .net wpf audio directshow

我正在开发一个基于WPF的应用程序,它也使用DirectShow。我需要实现一种功能,我必须在所选设备之一上传输视频音频。为了澄清我的问题,假设我们有许多连接到系统的音频设备,因此必须允许用户在他/她选择的设备上播放视频文件中的音频。另外,如何通过连接到系统的音频设备进行枚举?我不知道如何将音频传输到不同的设备?我是DirectShow开发的新手,请帮我解决这个问题。欢迎任何想法建议。

感谢。

1 个答案:

答案 0 :(得分:1)

来自MSDN

  

要枚举用户系统上可用的音频设备,请使用   ICreateDevEnum与音频渲染器类别的接口   (CLSID_AudioRendererCategory)。对于每个音频设备,音频   渲染器类别包含两个过滤器实例。其中之一   对应于DirectSound渲染器,另一个对应于   音频渲染器(WaveOut)过滤器。 DirectSound实例有   友好名称“DirectSound:DeviceName”,其中DeviceName是名称   该设备。 WaveOut实例具有友好名称DeviceName。

     

音频渲染器类别包含两个额外的过滤器实例,   名为“默认DirectSound设备”和“默认WaveOut设备”。这些   对应于用户选择的默认声音设备   控制面板。它们实际上是对其中一对的映射   在前一段中描述。例如,如果系统有   两个音频设备,设备A和设备B,音频渲染器类别   将包含以下内容:

在.NET中,你通过[推测] DirectShow.NET库包装了这个API。