是否可以用C#以编程方式记录Windows的输出声音?有点像从“你所听到的”或“立体声输出”功能中录制一些东西(而不必选择它们)?
ekqde3dh1#
这被称为loopback recording,在Windows中是可能的。如果你有一个支持环回的声卡(我刚刚检查了我的低端东芝笔记本电脑,它没有),你可以直接从环回设备使用waveInOpen等记录。API,在C#中易于使用。注意:以这种方式录制音频必然会降低质量,因为音频信号被转换为模拟输出,然后重新数字化以支持环回接口。如果你没有声卡,WASAPI会让你这样做。我认为WASAPI可以与C#一起使用,但它看起来很痛苦。
waveInOpen
osh3o9ms2#
另外,请检查NAudio库。PS. C++但相关http://blogs.msdn.com/b/matthew_van_eerde/archive/2008/12/16/sample-wasapi-loopback-capture-record-what-you-hear.aspx?PageIndex=2
bgibtngc3#
我有点迟到了,但是CSCore有一个非常棒的库,用于在C#中管理windows音频事件。这个看起来特别像你想要的。http://filoe.github.io/cscore/sharpDox/1.2.0-release/#type/WasapiLoopbackCapture
vfwfrxfs4#
如果要捕获音频输出,可以使用**“WasapiLoopbackCapture”https://github.com/naudio/NAudio/blob/master/Docs/WasapiLoopbackCapture.md如果要捕获音频输入,可以使用“RecordWavFileWaveIn”**https://github.com/naudio/NAudio/blob/master/Docs/RecordWavFileWinFormsWaveIn.md只需安装参考包-https://www.nuget.org/packages/NAudio
4条答案
按热度按时间ekqde3dh1#
这被称为loopback recording,在Windows中是可能的。如果你有一个支持环回的声卡(我刚刚检查了我的低端东芝笔记本电脑,它没有),你可以直接从环回设备使用
waveInOpen
等记录。API,在C#中易于使用。注意:以这种方式录制音频必然会降低质量,因为音频信号被转换为模拟输出,然后重新数字化以支持环回接口。如果你没有声卡,WASAPI会让你这样做。我认为WASAPI可以与C#一起使用,但它看起来很痛苦。
osh3o9ms2#
另外,请检查NAudio库。
PS. C++但相关http://blogs.msdn.com/b/matthew_van_eerde/archive/2008/12/16/sample-wasapi-loopback-capture-record-what-you-hear.aspx?PageIndex=2
bgibtngc3#
我有点迟到了,但是CSCore有一个非常棒的库,用于在C#中管理windows音频事件。
这个看起来特别像你想要的。http://filoe.github.io/cscore/sharpDox/1.2.0-release/#type/WasapiLoopbackCapture
vfwfrxfs4#
如果要捕获音频输出,可以使用**“WasapiLoopbackCapture”https://github.com/naudio/NAudio/blob/master/Docs/WasapiLoopbackCapture.md
如果要捕获音频输入,可以使用“RecordWavFileWaveIn”**https://github.com/naudio/NAudio/blob/master/Docs/RecordWavFileWinFormsWaveIn.md
只需安装参考包-https://www.nuget.org/packages/NAudio