【问题标题】:Send sound to different audio devices将声音发送到不同的音频设备
【发布时间】:2011-07-22 07:00:00
【问题描述】:

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

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

谢谢!

【问题讨论】:

    标签: c# service expression media encoder


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      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 库,它不是很实际,而且有点小错误。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-04-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-09-16
          • 2021-06-24
          相关资源
          最近更新 更多