I need users to record their voice on a browser and then automatically upload the resulting mp3 to a webserver.
I am thinking the user presses a big fat start record/sto
You can interact with a client's microphone using flash, this will require permission from the user. For implementation details please visit my reference.
Reference: http://fmsguru.com/showarticle.cfm?articleID=25
The ideal solution would be getUserMedia
and the Stream API. Unfortunately, it is currently not well-supported across modern browsers. As of June 14, 2012 the only browser confirmed to have support according to caniuse.com is Chrome 21. Others appear to be working on solid implementations.
Until native support arrives, Flash can access and record both audio and video.
The most efficient free-ish solution bandwidth-wise is probably to develop a Flash app that streams Speex data to a Flash Media Server (e.g. Red5/Wowza). It's a huge pain though.
A far simpler solution is to stream raw audio over a standard HTTP post. This can be done in Flash without a proprietary media server:
https://code.google.com/p/wami-recorder/
If you need MP3 on the server-side you can transcode using lame.