【发布时间】:2021-08-17 23:40:16
【问题描述】:
有没有办法在 C# 中直接将音频播放到捕获设备中?在我的项目中,我稍后将不得不在带有音频的虚拟捕获驱动程序上使用它,以便我可以在其他程序中使用它并在其他任何地方播放所需的音频,但我不确定在 C# 中是否可行,我尝试使用@987654321 来做到这一点@(真是太棒了):
var enumerator = new MMDeviceEnumerator();
MMDevice captureDevice = enumerator.GetDefaultAudioEndpoint(DataFlow.Capture, Role.Multimedia);
WasapiOut wasapiOut = new WasapiOut(captureDevice, AudioClientShareMode.Shared, false, 0);
但最终它只是抛出带有代码0x88890003 的COMException,这会转换为错误“AUDCLNT_STREAMFLAGS_LOOPBACK 标志已设置,但端点设备是捕获设备,而不是渲染设备”。那么到底有没有可能的解决方案,还是我必须转向另一种语言,比如 C++?
【问题讨论】: