Si desea una solución .NET, puede consultar NAudio que es una biblioteca de audio de código abierto. Mire la clase WaveInStream
(o WaveIn
en el último código). Esto le permitirá abrir un micrófono y recibir eventos que contengan los últimos bytes capturados. Esto sería bastante fácil luego pasar a una secuencia.
En cuanto a la codificación de MP3 utilizando LAME, un enfoque que he visto utilizado es pasar el audio a lame.exe a través de stdin y leer el mp3 de stdout. Creo que es más fácil que obtener una LAME DLL y escribir wrappers de interoperabilidad para ella.
Actualización: He creado un proyecto de ejemplo que utiliza NAudio para grabar desde el micrófono, y LAME para guardar como MP3 en http://voicerecorder.codeplex.com. Ver mi artículo en Coding4Fun here.
Sé que ha pasado un tiempo, ¡pero finalmente logré esto! Gracias, Mark. –