将getUserMedia()中的音频编码为JavaScript中的.OGG

twc*_*man 13 javascript html5 json speex getusermedia

所以我有一个我正在研究的HTML5项目,我将iOS应用程序转换为基于Web的应用程序.伴随应用程序内容创建的一部分是录音,我试图在JavaScript中复制而不使用插件; 到目前为止,我已经能够从getUserMedia()录制音频,并通过Recorder.js将其转换为WAV.

然而,现在,我有点迷失了.我目前有两个单独的视图,一个用于录制内容,另一个用于播放,但我不知道如何将音频导出的Recorder.js导入我的JSON有效负载进行播放(我想避免强制服务器)上传或客户端下载).

所以我想我的具体问题是,我如何获取由Recorder.js制作的blob对象(我几乎一无所知)并将其转换为原始数据,或以某种方式通过JSON发送文件?

更新:我决定尝试使用speex.js工具(https://github.com/jpemartins/speex.js)来编码.OGG(远小于.WAV).但是,我不确定如何使用它; 演示页面似乎对我不起作用,并且试图调用.encode()Speex对象的函数似乎并没有实际编码数据,我只在对象字段中得到零.有谁知道我可以学习如何使用这种工具的任何资源?

Amu*_*kog 0

有一个库(麻省理工学院许可)应该可以工作,我相信不久前我已经在网站上看到过这个库用于从 getUserMedia 音频流保存 ogg 文件。我依稀记得图书馆的名字,但我想就是这个:

https://github.com/streamproc/MediaStreamRecorder/blob/master/AudioStreamRecorder/MediaRecorder.js

整个项目在 GitHub 上: https: //github.com/streamproc/MediaStreamRecorder/

由于实现这一目标似乎很难,因此至少值得一看以了解这些概念 - 但我想说,我们在这里处理的是相当高级的 javascript...