如何从浏览器捕获音频?
-
25-09-2019 - |
题
我的客户需要让用户从浏览器录制消息,然后将该消息导出为音频文件(例如 WAV)。
如何最好地实现这一点?Flash、Java、HTML5?我所说的“最好”是指易于实施且得到广泛支持的东西。
人们使用 HTML5 的体验如何?
谢谢!
解决方案
Flash 是一种选择,但您需要一个媒体流服务器(Adobe Media Server、Wowza、Red5)。无法在 Flash 上捕获音频并将其存储到本地文件中。
如果您愿意使用 Java 小程序,有多种解决方案。所有这些都需要访问本地文件系统,并将要求用户提供额外的权限。例如尝试 http://www.javasonics.com/ 或谷歌“小程序录制音频".
更新: 从 Flash 10.0 开始,可以选择将麦克风与 SampleDataEvent.SAMPLE_DATA 一起使用。这可以访问来自麦克风的原始音频数据。参见该项目的实现: http://code.google.com/p/micrecorder/
其他提示
嗯,我怀疑是HTML5的这样的功能会非常不规范,以及浏览器的支持会差别很大(有许多浏览器不包括任何)。
Java是不是受欢迎,因为闪光灯和有没有JRE的所有谁了许多人。
因此,所有的一切我会去在这种情况下,闪存解决方案。并可能与HTML5后备对于一些有限的情况下,应在资源允许。
假设您的意思是“导出”到服务器,这里是一个不需要 Flash 媒体服务器的开源 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 支持,请关注 获取用户媒体()