I think we're on the right track with the WAV header. But then I can't use uLaw compression?
wav files do support compression but I cannot tell you if uLaw is specifically supported and under which platforms.
If there is any compression, it is usually indicated in the header (offset 20).
You will have to do some research on that.
I'm sure I can figure out how to play a WAV file by referencing the file URL with a specific browser. How can I make it easy for everyone else regardless of their browser? Is there some sort of website where I can pass the WAV file URL and it will play thru the browser?
I don't quite understand your question.
I was under the impression that you upload your sound file to a server (web host as you put it) thus it will already have a URL associated with it.
h t t p://www.YourServer.com/SomePath/YourWav.wav
Now if it has a header (whether inserted by the Arduino or a server-side script) then you simply point the user to that URL
and provided that their browser plays wavs, they will hear it.
You don't need flash or js as that just adds another layer of complexity.
Js is not server-side it's client side so that would mean the users device would first have to download the audio, cache it locally, process it then only play it.
With flash, the swf will have to be either "pre-compiled" or compiled on the fly then you hope/assume that the user has flash on his/her device.
If you have to process the raw audio on the server, then rather use something like Perl or PHP to take the raw samples and make a more generic mp3 out of it.
Consult with your hosting provider as many already have Perl or PHP enabled and the libs for them to create mp3 (or something else) are easily available.
The conversion would be automatic as you would post to the script, it would process the data and place it in a predefined directory on the server and thus you will have the URL.