2012-05-31 106 views
-1

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

谢谢。

+0

“通道”是什么意思,为什么你认为DirectShow是你需要的API?枚举是任何API文档中存在的基本任务,因为DirectShow在这里 - http://msdn.microsoft.com/en-us/library/windows/desktop/dd375615%28v=vs.85%29.aspx –

+0

Roman,我目前使用DirectShow播放音频。我想要做的是让用户在他们选择的设备上播放音频。我只是想能够选择音频设备播放。 –

回答

1

MSDN

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

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

在.NET你通过[假想] DirectShow.NET有包装该API图书馆。

相关问题