我正在努力将音频直接录制到浏览器中并发布到网络服务器。 我目前依靠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%,但至少在主要/最近的浏览器上)。
答案 0 :(得分:1)
Flash:https://github.com/maxl0rd/standingwave3 例如:www.jordansthings.com/blog/?p = 5 支持mp3。
js压缩:https://github.com/jpemartins/speex.js 没有好的例子。