javascript - 通过 HTML5 API(RecordJS 或替代方案)将音频录制为 AAC

标签 javascript html audio-recording

我需要录制音频文件,将其导出(存储到服务器中)为 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);
    });
  }

提供的示例非常简单。 但是,我不知道如何做到这一点

  1. 实际上获取aac音频文件
  2. 存储(示例显示如何下载,而不是如何存储在服务器上)
  3. 获取文件的链接(服务器路径)。

很抱歉我无法提供有效的 fiddle ,但我对 HTML5 API 很陌生并且很困惑。

如果需要,我可以使用另一个库或纯 HTML5 API。只需要一些关于如何继续的线索。如果这对其他人有帮助,即使是通用解决方案(即不仅导出到 AAC,还导出到 MP3 或其他格式)也可以。

最佳答案

The example provided is quite straightforward. However, I have no clue on how

  1. actually getting an aac audio files

你不能...至少今天不能。我认为 MediaRecorder API 旨在解决这个问题,但它尚未得到真正的支持,也没有标准化。

有些人使用过 emscripten构建用于 MP3 编码的 LAME。您可以尝试对开源 AAC 编码器(例如 FFmpeg 中内置的编码器)执行相同的操作。查看videoconverter.js 。请注意,这是非常慢的、高度实验性的,并且并不适合所有用例。

  1. store it (the example shows how to download, not how store on server)

使用您想要的任何方式将该数据发送到服务器。如果是我,我会通过二进制网络套接字发送它。

  1. get the file's link (server's path).

这取决于您在服务器端如何使用它,我们无法为您解答。这就是你想要的任何东西。

关于javascript - 通过 HTML5 API(RecordJS 或替代方案)将音频录制为 AAC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29710065/

相关文章:

javascript - 如何使用 Javascript 检查 onreadystatechange 是否返回错误?

javascript - 访问页面 AJAX 时自动 POST

javascript - 使用复制按钮输入,就像 github clone view

javascript - 如果您只有图像的链接,如何将图像绘制到 Canvas 上?

c++ - 如何使用 C++ 更改 Window 的事件记录设备?

javascript - 如何指出 div 停止随浏览器大小缩小的位置

javascript - 如何创建多个日期选择器

javascript - 如何找到下一个 div 并删除 CSS 属性

javascript - 如何使用 howler.js 在客户端播放录制的音频 blob?

ios - 在 Swift 3 中使用音频队列获取麦克风输入