录音过程中拔掉麦克风后如何处理 NAudio 的 MMException
我正在开发一个 Windows 窗体程序,它使用 NAudio 监听所有活动的音频输入设备。我遇到的问题是,如果在录制开始时只插入一个音频输入设备,然后在录制结束之前将其删除,我收到一个未处理的 MMException
,其中包含 MMResult<
MMResult.NoDriver
的 /code>。
由于我使用的是 WaveIn.StartRecording()
方法(我假设该方法在另一个线程中工作),因此异常会被抛出到 main 方法而不会被捕获。
有人对我可以采取什么措施来安全地继续录制或停止录制直到设备重新插入有任何建议吗?
I am working on an windows forms program which listens to all of the active audio input devices using NAudio. The problem I am running into is if an there is only one audio input device is plugged in at the beginning of recording then is removed before the recording ends I received an unhandled MMException
with an MMResult
of MMResult.NoDriver
.
Since I am using the WaveIn.StartRecording()
method, which works in another thread I assume, the exception gets thrown up to the main method without being caught.
Does anyone have any suggestions on what I can do to safely continue recording or maybe stop the recording until the device is plugged back in?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
NAudio 讨论中有一个解决方案。
您需要从此处获取源代码修复程序(也称为 fork),并且自己编译它(仅限 x86)。
There is a solution in the NAudio discussion.
You need to get the source code fix (aka fork) from here and compile it (only x86) for yourself.