14

所以我有这个我正在处理的 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 对象的函数似乎并没有真正对数据进行编码,我只在对象字段中得到零。有谁知道我可以学习如何使用这种工具的任何资源?

4

1 回答 1

0

有一个库(MIT 许可)应该可以工作,我相信不久前我已经看到这个确切的库被用于从网站上的 getUserMedia 音频流中保存 ogg 文件。我依稀记得图书馆的名字,但我认为是这个:

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

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

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

于 2014-11-06T19:21:27.103 回答