将声音发送到不同的音频设备

发布于 2024-10-26 10:17:28 字数 96 浏览 4 评论 0原文

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

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

谢谢!

Is it possible to play a sound on a playback device that is not set as default playback device?
I need to play multiple files simultaniously trough multiple output devices.

Does anyone knows a solution for .net? (C#)

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

花想c 2024-11-02 10:17:28

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

you will have to go to lower level API. You can try find C# wrapper for Wasapi, ASIO, DirectSound or MediaFoundation. Maybe XNA framework could do the job, which is managed framework over directX

荆棘i 2024-11-02 10:17:28

好吧,我正在解决类似的问题。

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

well I was playing around with similar issue.

  1. XNA could not do send output to specific device.
  2. I have ended out with http://naudio.codeplex.com/, which is exactly what you need. It's C# wrapper for Wasapi, ASIO, DirectSound libraries. It also includes many very helpful classes for converting, decoding, visualizing etc. For simple player, check out NAudioDemo sample project.

find out CreateWaveOut() method. This is where you should select your playbackdevice.
for example:

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

Download the naudio library from sourcecode tab not from Download->Release, it's not very actual and it's little buggy.

猫腻 2024-11-02 10:17:28

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

another good tool is bass.net
http://www.un4seen.com/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文