C# 向麦克风写入数据';输出缓冲器

C# 向麦克风写入数据';输出缓冲器,c#,audio,xna,microphone,C#,Audio,Xna,Microphone,我想创建一个有趣的小项目,作为Skype音板。也就是说,如果你按下一个热键(比如NumPad 1),声卡就会在通话中播放一个预先确定的WAV文件。真的只是用来和朋友开玩笑和做傻事 我设想处理这个问题的方法是写入麦克风的输出缓冲区。然而,我找不到任何关于如何做到这一点的想法。我发现关于一般音频处理,但是nAudio的输出示例非常通用,不处理写入特定设备的操作 理想情况下,我希望获得系统的默认音频输入设备(因此是默认麦克风),然后将WAV数据写入用于传输的缓冲区 第一个问题似乎适用于XNA框架及其麦

我想创建一个有趣的小项目,作为Skype音板。也就是说,如果你按下一个热键(比如NumPad 1),声卡就会在通话中播放一个预先确定的WAV文件。真的只是用来和朋友开玩笑和做傻事

我设想处理这个问题的方法是写入麦克风的输出缓冲区。然而,我找不到任何关于如何做到这一点的想法。我发现关于一般音频处理,但是nAudio的输出示例非常通用,不处理写入特定设备的操作

理想情况下,我希望获得系统的默认音频输入设备(因此是默认麦克风),然后将WAV数据写入用于传输的缓冲区

第一个问题似乎适用于XNA框架及其麦克风对象。它有一个可以满足我需要的东西。但是麦克风对象本身没有明显的写入缓冲区的方式,这让我有点卡住了


有没有办法做到这一点?我走错路了吗?麦克风对象在这里使用是否正确?

XNA可能是错误的技术。修改麦克风输出似乎很难做到。我可以想象,你有一个模拟另一个声音输入设备的软件驱动程序。该驱动程序将混合麦克风输出和WAV文件。我不该问关于驱动程序开发的问题,但这一切似乎都是为了一些笑话而做的大量工作。也许有人已经实现了这一点。有一次我偶然发现了一个为相机做这件事的程序。你可能会更幸运地使用微软的API。