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
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.