如何从浏览器中捕获音频?

时间:2010-10-22 19:50:09

标签: java flash html5 audio audio-recording

我的客户需要让用户从浏览器录制消息,然后将消息导出为音频文件(例如WAV)。

这是如何最好地完成的? Flash,Java,HTML5?最好的,我的意思是直接实施并得到广泛支持。

人们使用HTML5的经历是什么?

谢谢!

3 个答案:

答案 0 :(得分:4)

Flash是一种选择,但您需要一个媒体流服务器(Adobe Media Server,Wowza,Red5)。无法在Flash上​​本地捕获和存储音频到文件。

如果您愿意使用Java applet,那么有多种解决方案。所有这些都需要访问本地文件系统,并会要求用户提供其他权限。例如,请尝试http://www.javasonics.com/或Google“applet record audio”。

更新,因为Flash 10.0可以选择将Microphone与SampleDataEvent.SAMPLE_DATA一起使用。这样可以从麦克风访问原始音频数据。请参阅此项目以实施:http://code.google.com/p/micrecorder/

答案 1 :(得分:1)

我怀疑HTML5的这种功能非常不标准,浏览器支持会有很大不同(许多浏览器不包括任何浏览器)。

Java并不像flash那么受欢迎,而且很多人根本没有JRE。

总而言之,在这种情况下我会选择Flash解决方案。对于某些有限的案例,可能会有HTML5后备,资源允许。

答案 2 :(得分:0)

假设您的意思是“导出”到服务器,这里是一个不需要闪存介质服务器的开源Flash解决方案:

https://code.google.com/p/wami-recorder/

录制内容通过HTTP post传输到您选择的服务器端技术。在最简单的情况下,您可以使用4行PHP代码捕获和保存音频:

<? 
$content = file_get_contents('php://input');
$fh = fopen('output.wav', 'w') or die("can't open file");
fwrite($fh, $content);
fclose($fh);
?>

对于HTML5支持,请关注getUserMedia()