我的客户端需要让用户从浏览器记录消息,然后将消息导出为音频文件(例如WAV)。如何从浏览器捕获音频?
这最好的做法是什么? Flash,Java,HTML5?最好的是,我的意思是直接实施并得到广泛支持。
人们使用HTML5的经验是什么?
谢谢!
我的客户端需要让用户从浏览器记录消息,然后将消息导出为音频文件(例如WAV)。如何从浏览器捕获音频?
这最好的做法是什么? Flash,Java,HTML5?最好的是,我的意思是直接实施并得到广泛支持。
人们使用HTML5的经验是什么?
谢谢!
Flash是一种选择,但您需要一个媒体流服务器(Adobe Media Server,Wowza,Red5)。没有办法在本地捕获和存储音频到文件。
如果您愿意使用Java小程序,那么有多种解决方案。所有这些都需要访问本地文件系统,并会要求用户提供额外的权限。例如,尝试http://www.javasonics.com/或Google“applet record audio”。
更新:自Flash 10.0以来,可以选择使用Microphone和SampleDataEvent.SAMPLE_DATA。这可以访问来自麦克风的原始音频数据。看到这个项目的实施:http://code.google.com/p/micrecorder/
从Flash 10开始,您不需要媒体服务器。您可以捕获原始样本并将它们发送到任意后端并附带HTTP邮件。 https://code.google.com/p/wami-recorder/ – 2011-12-04 18:10:02
Thx,你是对的。此外还有micrecorder:http://code.google.com/p/micrecorder/ – 2011-12-04 21:05:27
嗯,我怀疑这样的HTML5功能将是非常不标准的,并且浏览器的支持会有很大的不同(许多浏览器不包括任何)。
Java并不像Flash那么受欢迎,还有很多人根本没有JRE。
因此,总而言之,我会在这种情况下为Flash解决方案。也许在某些有限情况下使用HTML5后备资源时,资源允许。
假设你的意思是“出口”到服务器,在这里是不需要Flash Media Server的一个开放源代码的闪存解决方案:
https://code.google.com/p/wami-recorder/
记录是通过HTTP发送到您选择的服务器端技术。在最简单的情况下,您可以捕捉并保存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()
HTML5取得API还尚未实施,因此Flash现在是唯一的选择。 – 2010-10-22 20:15:24