I should explain to prevent confusion. The audio files are generated in real time. I cannot convert them to MP3 or any arbitrary format in advance thru a manual process because the data is constantly changing.
Can the HTML5 Audio object play a uLaw encoded WAV file? On iPhone?
0x0006 WAVE_FORMAT_ALAW 8-bit ITU-T G.711 A-law0x0007 WAVE_FORMAT_MULAW 8-bit ITU-T G.711 µ-law
If you want to use .wav headers, you can't upload "in real-time" as in "streaming". The wave file header has a couple fields that require the data size to be known in advance. That means you either have to process the entirety of the audio on the Arduino so you can add the header and upload the whole file at once, or you have to have random access to the file on your server, so you can stream the data, then go back and modify the header once the recording ends. Or you have to record fixed-length chunks.
In terms of codec support, there are usually media plugins that can handle any common format, whether the browser natively supports it or not. If you have QuickTime or WMP or VLC plugins installed and enabled, you shouldn't have to concern yourself with whether the browser understands that format. Test and verify of course.
According to this page, these two voice sample formats are supported by the wave container:Code: [Select]0x0006 WAVE_FORMAT_ALAW 8-bit ITU-T G.711 A-law0x0007 WAVE_FORMAT_MULAW 8-bit ITU-T G.711 µ-lawOthers can be, with the extensible format header.
No random access or CGI needed.