<p>I'm trying to write a web-app that records WAV files (eg: from the user's microphone). I know Javascript alone can not do this, but I'm interested in the least proprietary method to augment my Javascript with. My targeted browsers are Firefox for PC and Mac (so no ActiveX).</p>

<p>I gather it can be done with Flash (but not as a WAV formated file). I gather it can be done with Java (but not without code-signing). Are these the only options?</p>

<p>I'd like to record the file as a WAV because because the purpose of the webapp will be to assemble a library of <em>good</em> quality short soundbites. I estimate upload will be 50 MB, which is well worth it for the quality. The app will only be used on our intranet.</p>

<p>UPDATE: There's now an alternate solution thanks to JetPack's upcoming Audio API: See <a href="https://wiki.mozilla.org/Labs/Jetpack/JEP/18" rel="nofollow noreferrer">https://wiki.mozilla.org/Labs/Jetpack/JEP/18</a></p>

[{'answer_id': 64112, 'author': 'dawnerd', 'author_id': 69503, 'author_profile': 'https://Stackoverflow.com/users/69503', 'pm_score': 1, 'selected': False, 'text': '<p>Flash is going to be your best solution.</p>\n\n<p>Hopefully this will help: <a href="http://www.kirupa.com/forum/showthread.php?t=17331" rel="nofollow noreferrer">http://www.kirupa.com/forum/showthread.php?t=17331</a></p>\n'}, {'answer_id': 64123, 'author': 'Community', 'author_id': -1, 'author_profile': 'https://Stackoverflow.com/users/-1', 'pm_score': 0, 'selected': False, 'text': "<p>Yes I believe Flash or a Java-Applet are the only ways to do that.\nSince you cannot interact with a microphone you must use some sort of browser-plugin, its the only way to use the microphone.\nI'm not aware of any other plugin that would provide that features. A quick search on Google did not reveal any further possibilities.\nI think the easiest would be going with Flash.</p>\n"}, {'answer_id': 64159, 'author': 'dmazzoni', 'author_id': 7193, 'author_profile': 'https://Stackoverflow.com/users/7193', 'pm_score': 2, 'selected': False, 'text': "<p>Your only options are Flash, Java, ActiveX, or writing a custom Firefox extension.  Flash is probably your best option - you could write or use an existing Flash app to do the recording and keep almost everything else in pure Javascript.</p>\n\n<p>Why do you want a WAV file?  If you're planning to process the actual bits of the waveform on the client, then that's probably a bad idea; the client might be really slow and you wouldn't be able to really manipulate the file.  If you want to send the sound back to the server, then it's much better to send a compressed file, and then uncompress it on the server.</p>\n"}, {'answer_id': 66984, 'author': 'David Hicks', 'author_id': 3653, 'author_profile': 'https://Stackoverflow.com/users/3653', 'pm_score': 3, 'selected': True, 'text': '<p>Flash requires you to use a media server (note: I\'m still using Flash MX, but a quick Google search brings up documentation for Flash CS3 that seems to concur - note that Flash CS4 is out soon, might change then). Macromedia / Adobe aim to flog you their media server, but the Red5 open-source project might be suitible for your project:</p>\n\n<p><a href="http://osflash.org/red5" rel="nofollow noreferrer">http://osflash.org/red5</a></p>\n\n<p>I think Java is going to be more suitible. I\'ve seen an applet that might do what you want over on Moodle (an open-source virtual learning environment):</p>\n\n<p><a href="http://64.233.183.104/search?q=cache:k27rcY8QNWoJ:moodle.org/mod/forum/discuss.php%3Fd%3D51231+moodlespeex&amp;hl=en&amp;ct=clnk&amp;cd=1&amp;gl=uk" rel="nofollow noreferrer">http://64.233.183.104/search?q=cache:k27rcY8QNWoJ:moodle.org/mod/forum/discuss.php%3Fd%3D51231+moodlespeex&amp;hl=en&amp;ct=clnk&amp;cd=1&amp;gl=uk</a></p>\n\n<p>(membership-required site, but open to Google, hence the link goes to the Google cache page).</p>\n'}, {'answer_id': 67072, 'author': 'Mike', 'author_id': 1115144, 'author_profile': 'https://Stackoverflow.com/users/1115144', 'pm_score': -1, 'selected': False, 'text': '<p>You could download Real Producer Basic, which is free here (<a href="http://forms.real.com/rnforms/products/tools/producerbasic/" rel="nofollow noreferrer">http://forms.real.com/rnforms/products/tools/producerbasic/</a>), and imbed it as an activeX object since it\'s on your intranet.  Flash will embed the same way, it\'s on all the office workstations, but since this is your Intranet, you could install it on all the machines with AD.  Real audio files are very small compared to wav and sound great.  Here\'s a link to the Real Sudio ActiveX how-to guide.  <a href="http://service.real.com/help/library/guides/activex/producerx.html" rel="nofollow noreferrer">http://service.real.com/help/library/guides/activex/producerx.html</a></p>\n'}, {'answer_id': 3464493, 'author': 'rodneyt', 'author_id': 417946, 'author_profile': 'https://Stackoverflow.com/users/417946', 'pm_score': 0, 'selected': False, 'text': '<p>Another solution if you don\'t mind your users installing a plugin is to use Runtime Revolution RevWeb plugin which supports recording audio in browser (and is trivial to implement, I made a test applet to confirm this in about 10 minutes).  <a href="http://revweb.runrev.com/" rel="nofollow noreferrer">http://revweb.runrev.com/</a></p>\n'}, {'answer_id': 8271166, 'author': 'Ian McGraw', 'author_id': 701511, 'author_profile': 'https://Stackoverflow.com/users/701511', 'pm_score': 3, 'selected': False, 'text': '<p>This is an old thread, but the issue remains relevant.  It should be noted that there is a way to record audio to the server in Flash without a proprietary back-end.  Here\'s an example project to get you started:</p>\n\n<p><a href="https://code.google.com/p/wami-recorder/" rel="noreferrer">https://code.google.com/p/wami-recorder/</a></p>\n'}]
['https://Stackoverflow.com/questions/64010', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/4939/']