我正在尝试用C#构建一个程序,它允许我通过网络将音频和视频从一台计算机传输到另一台计算机,该计算机连接到一堆视频/音频设备(投影仪,扬声器)等)。理想情况下,我希望能够直接从“演示者”计算机捕获这些数据,而不必插入任何东西。
“输出”计算机上的视频,流媒体和重新显示都运行良好,但我似乎无法找到一种很好的方法来捕获音频输出,而无需将电缆插入耳机插孔并连接到另一台计算机。这个程序的重点是允许无线完成,所以这是一个问题。总而言之,我正在寻找某种C#接口,它允许我在Windows机器上捕获声音输出,就好像我已经将某些东西插入耳机插孔。
提前感谢您的帮助。
答案 0 :(得分:4)
在Windows中,声卡制造商可以选择提供“你听到的”输入流,以便捕获输出。如果您的声卡/驱动程序没有此功能,您可以尝试使用Virtual Audio Cable执行相同的操作。
在Windows 7中,有一项新功能可让您直接收听/捕获任何输入流。
答案 1 :(得分:3)
如果您已经找到了视频方面; NAudio是处理音频组件的好方法。
假设我们将任务分解为录音,然后是接收和播放组件,那么以下内容可以帮助您完成每一方;
录音: http://opensebj.blogspot.com/2009/04/naudio-tutorial-5-recording-audio.html
接收和播放: Play audio from a stream using C#
介于两者之间的传输方法取决于您,但如果您已经有办法在两台计算机之间发送流,则应该能够重用它。只需确保您的缓冲区足够大,以便始终在接收计算机上播放数据。
答案 2 :(得分:1)
看看本文中的代码,需要对其进行相当大的修改以便能够通过网络传输输出,但这应该不够难。 http://www.csharpfriends.com/Forums/ShowPost.aspx?PostID=19102