我需要录制音频文件,将其导出(存储到服务器中)为 aac 格式,获取其链接并将链接和实际音频 (aac) 文件发送到 RESTful WS。
我发现这个库可以录制音频(利用 HTML5 Audio API):RecordJS https://github.com/mattdiamond/Recorderjs
我设置了它(初始化+开始录制+停止录制)。 现在我应该处理音频以便将其导出。
插件创建者提供的示例是:
function createDownloadLink() {
recorder && recorder.exportWAV(function(blob) {
var url = URL.createObjectURL(blob);
var li = document.createElement('li');
var au = document.createElement('audio');
var hf = document.createElement('a');
au.controls = true;
au.src = url;
hf.href = url;
hf.download = new Date().toISOString() + '.wav';
hf.innerHTML = hf.download;
li.appendChild(au);
li.appendChild(hf);
recordingslist.appendChild(li);
});
}
提供的示例非常简单。 但是,我不知道如何做到这一点
- 实际上获取aac音频文件
- 存储(示例显示如何下载,而不是如何存储在服务器上)
- 获取文件的链接(服务器路径)。
很抱歉我无法提供有效的 fiddle ,但我对 HTML5 API 很陌生并且很困惑。
如果需要,我可以使用另一个库或纯 HTML5 API。只需要一些关于如何继续的线索。如果这对其他人有帮助,即使是通用解决方案(即不仅导出到 AAC,还导出到 MP3 或其他格式)也可以。
最佳答案
The example provided is quite straightforward. However, I have no clue on how
- actually getting an aac audio files
你不能...至少今天不能。我认为 MediaRecorder API 旨在解决这个问题,但它尚未得到真正的支持,也没有标准化。
有些人使用过 emscripten构建用于 MP3 编码的 LAME。您可以尝试对开源 AAC 编码器(例如 FFmpeg 中内置的编码器)执行相同的操作。查看videoconverter.js 。请注意,这是非常慢的、高度实验性的,并且并不适合所有用例。
- store it (the example shows how to download, not how store on server)
使用您想要的任何方式将该数据发送到服务器。如果是我,我会通过二进制网络套接字发送它。
- get the file's link (server's path).
这取决于您在服务器端如何使用它,我们无法为您解答。这就是你想要的任何东西。
关于javascript - 通过 HTML5 API(RecordJS 或替代方案)将音频录制为 AAC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29710065/