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

Lau*_*t S 7 javascript flash audio

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

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

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

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

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

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

小智 1

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

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