5

是否可以在未设置为默认播放设备的播放设备上播放声音?我需要通过多个输出设备同时播放多个文件。

有谁知道.net的解决方案?(C#)

谢谢!

4

3 回答 3

1

好吧,我在玩类似的问题。

  1. XNA 无法将输出发送到特定设备。
  2. 我以http://naudio.codeplex.com/结束,这正是您所需要的。它是 Wasapi、ASIO、DirectSound 库的 C# 包装器。它还包括许多非常有用的类,用于转换、解码、可视化等。对于简单的播放器,请查看 NAudioDemo 示例项目。

找出 CreateWaveOut() 方法。这是您应该选择播放设备的地方。例如:

MMDevice device = new MMDeviceEnumerator()
     .EnumerateAudioEndPoints(DataFlow.Render, DeviceState.All)
     .FirstOrDefault(d => d.ID == "yourplaybackdeviceid");
IWavePlayer waveOut = new WasapiOut(device, AudioClientShareMode.Shared, false, latency);

从源代码选项卡下载 naudio 库,而不是从下载-> 发布,它不是很实际,而且有点小错误。

于 2011-03-31T10:32:41.410 回答
1

您将不得不转到较低级别的 API。您可以尝试为 Wasapi、ASIO、DirectSound 或 MediaFoundation 找到 C# 包装器。也许 XNA 框架可以完成这项工作,它是基于 directX 的托管框架

于 2011-03-28T11:09:33.273 回答
0

另一个好工具是 bass.net http://www.un4seen.com/

于 2011-05-31T09:23:19.713 回答