I have an application to which I want to add the ability to import small audio snippets directly from a microphone device of some sort.
I already allow importing of pictures and this works okay with disk files and cameras since cameras magically become disk devices when you attach them so a file import method works for both.
Audio however is slightly different. I've already allowed for importing audio files off the disk but I want to add the capability to directly record from a microphone to a disk file or in-memory buffer.
Does C#/WPF provide an easy way to do this? What's a good way to add this functionality?
mciSendString function records only microphone sound. if no mic is connected it will record nothing.
I'm using the this library: http://www.codeproject.com/KB/cs/Streaming_wave_audio.aspx Mainly due to the simple api. But I don't like this code too much. For example it fixes it's buffers in memory for a long time instead of allocating unmanaged buffers.
Probably the easiest is to use mciSendString function:
Another option is to use the DirectShowNet library (there's a sample called
PlayCap
).You might also find this CodeProject article useful.
this might help. It will use open source NAuodio project...
http://channel9.msdn.com/coding4fun/articles/NET-Voice-Recorder
:)