我需要使用带有C#程序的Windows 7从PC上捕获音频。我需要获得所有频率,直到20 khz。你知道有没有办法做到这一点?
答案 0 :(得分:2)
您可以在codeplex http://naudio.codeplex.com查看NAudio图书馆。
可以在http://voicerecorder.codeplex.com/找到一个用NAudio录制麦克风输入的好项目。
答案 1 :(得分:1)
我找到了一些可以帮助你的链接
访问http://www.codeproject.com/Articles/2615/DirectShow-NET? 或http://www.codeproject.com/Articles/4889/A-full-duplex-audio-player-in-C-using-the-waveIn-w?
或者您可以使用Matalab并使用Liydos dll将其与.Net链接
答案 2 :(得分:1)
尝试使用winmm.dll api功能。这是一个简单的例子。
using System;
using System.Runtime.InteropServices;
using System.Threading;
namespace MicrophoneTest
{
class Program
{
[DllImport("winmm.dll")]
private static extern int mciSendString(string MciComando, string MciRetorno, int MciRetornoLeng, int CallBack);
static void Main(string[] args)
{
//create Test alias
mciSendString("open new type waveaudio alias Test", null, 0, 0);
//start
mciSendString("record Test", null, 0, 0);
Thread.Sleep(3000);
//pause
mciSendString("pause Test", null, 0, 0);
//save
mciSendString("save Test " + "test.wav", null, 0, 0);
mciSendString("close Test", null, 0, 0);
//press any key
Console.ReadKey();
}
}
}