在浏览器压缩音频的解决方案?

时间:2012-03-09 14:38:48

标签: javascript flash audio

我正在努力将音频直接录制到浏览器中并发布到网络服务器。 我目前依靠flash访问用户麦克风(使用从https://code.google.com/p/wami-recorder/派生的代码)并将录制的Wav / pcm blob从flash传递给JS进行上传(使用XHR帖子)。 这工作正常,但我试图避免发送未压缩的WAV数据(我可以压缩服务器上的音频,但我试图限制CPU密集型工作)。

到目前为止,我发现在客户端压缩到ogg的选项包括:

  • 依靠flash的实验室功能将音频压缩为ogg(labs.byhook.com/2011/02/15/ogg-vorbis-encoder-for-flash-alchemy-series-part-1/) 。由于它是flash中的一个实验性功能,因此依赖它是有风险的。

  • 将libvorbis的最小子集移植到javascript,以便浏览器可以压缩数据。这可能听起来有点傻,但我只需要短音频位(几秒钟),因此性能可能不是这样的问题。我环顾四周,但找不到任何此类项目。

  • 其他一些特定于浏览器的解决方案,例如http://firefogg.org,需要大量的用户端安装才能工作,我不想这样做。

如果存在这样的选项,我正在寻找更好的选择来解决这个问题。 我显然在等待html5 getUserMedia()工作,但我需要一个解决方案同时适用于跨浏览器(不一定是100%,但至少在主要/最近的浏览器上)。

1 个答案:

答案 0 :(得分:1)

Flash:https://github.com/maxl0rd/standingwave3 例如:www.jordansthings.com/blog/?p = 5 支持mp3。

js压缩:https://github.com/jpemartins/speex.js 没有好的例子。