我在用着CSCore.WasapiLoopbackCapture
录制系统声音。但当系统没有声音时,根本不录音!例如,在播放音乐并录制音乐时,输出文件的持续时间小于曲目的持续时间。我希望它即使在系统中没有声音时也能继续录制,但我没有找到任何属性来控制此行为。这是我的代码片段:
WasapiCapture waveLoop = new WasapiLoopbackCapture();
waveLoop.Initialize();
waveLoop.DataAvailable += waveLoop_DataAvailable;
waveLoop.Stopped += waveLoop_Stopped;
waveLoop.Start();
对于您的“问题”,没有“好的”解决方案。但你的问题已经描述过了here http://blogs.msdn.com/b/matthew_van_eerde/archive/2008/12/16/sample-wasapi-loopback-capture-record-what-you-hear.aspx:
另一个奇怪之处是,当存在活动流时,WASAPI 只会将数据推送到渲染端点。当没有任何内容播放时,就没有什么可捕捉的。
这意味着您对此行为无能为力。如果没有播放任何内容,则不会捕获任何内容。最简单的解决方案是:
但我最喜欢的处理方法是运行silence.exe。这样就永远不会出现任何“没有播放”的故障,因为总是有东西在播放。
因此,只需确保您的应用程序或任何其他应用程序保持静音即可。这将是确保您的应用程序记录静音而不是中断捕获的一种方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)