Capture a Microphone Audio Stream Using .NET Frame

2019-01-23 04:47发布

I need to capture the input stream from a microphone in my application, which is written in VB.NET. I need to be able to stream this data to a file or over HTTP and possibly encode it using LAME MP3. Can anybody help me get started with this?

Thank you!

2条回答
Root(大扎)
2楼-- · 2019-01-23 05:16

If you want a .NET solution, you can check out NAudio which is an open source audio library. Look at the WaveInStream class (or WaveIn in the latest code). This will let you open a microphone, and receive events containing the latest captured bytes. This would be quite easy then to pass on to a stream.

As for encoding MP3 using LAME, one approach I have seen used is to pass the audio to lame.exe via stdin and read the mp3 from stdout. This is I think easier than getting hold of a LAME DLL and writing interop wrappers for it.

Update: I have created an example project that uses NAudio to record from the microphone, and LAME to save as MP3 at http://voicerecorder.codeplex.com. See my article at Coding4Fun here.

查看更多
【Aperson】
3楼-- · 2019-01-23 05:16

Maybe not the latest experience, but I remember I was playing with http://nyxtom.vox.com/library/post/recording-audio-in-c.html

For more professional things you probably need to take a look at DirectSound API.

Cheers.

查看更多
登录 后发表回答