我想创建一个有趣的小项目来充当Skype音板。也就是说,如果你按一个热键(比如NumPad 1),声板会在通话中播放一个预先确定的WAV文件。真的只是用于与朋友的愚蠢的笑话和其他愚蠢。
我设想处理此问题的方法是写入麦克风的输出缓冲区。但是,我找不到任何关于如何做到这一点的想法。我找到了关于一般音频处理的this question,但是nAudio的输出示例相当通用,不处理写入特定设备。
理想情况下,我想获取系统的默认音频输入设备(因此是默认麦克风),然后将WAV数据写入用于传输的缓冲区。
第一个问题似乎与XNA框架及其Microphone对象相关。它有一个Default static method,可以得到我需要的东西。但是Microphone对象本身没有明显的方法来写入缓冲区,这让我有点卡住了。
有关于如何做到这一点的想法吗?我跑错了路吗? Microphone对象在这里使用是否正确?