【问题标题】:How to convert blob to MP3 in ReactJS?如何在 ReactJS 中将 blob 转换为 MP3?
【发布时间】:2020-07-26 18:58:31
【问题描述】:

我正在使用 MediaRecorder 并使用 Navigator.getUserMedia 从用户的麦克风录制音频。

getUserMedia({ audio: true })
  .then(stream => {
    this.stream = stream;
    const mimeType = 'audio/mp3';
    this.mediaRecorder = new MediaRecorder(stream);
    this.mediaRecorder.start();
    const audioChunks = [];
    this.mediaRecorder.addEventListener('dataavailable', event => {
      audioChunks.push(event.data);
    });

    this.mediaRecorder.addEventListener('stop', () => {
      const audioBlob = new Blob(audioChunks, {
        type: mimeType});
    });
  }).catch(error => { });

借助 AudioContext 的 decodeAudioData 方法,我已经在 ReactJS 中将此 blob 转换为 WAV 文件。我也在这个过程中使用了文件阅读器。但是WAV文件的大小太大了。因为我的用例是记录可以持续 1-2 小时的会议。一小时的大小约为 350MB。 所以我宁愿需要将 blob 转换为 MP3,因为它的大小比 WAV 小。 请问有谁知道任何库可以在 ReactJS 中将 blob 转换为 MP3?

【问题讨论】:

  • 不能保留原来的 opus 或 vorbis 格式吗?他们的压缩应该足够好。否则,没有内置方法可以做到这一点,您必须依赖库或服务器端应用程序才能做到这一点,而且我们在这里不做软件推荐。
  • 图书馆的任何建议。由于我将该音频文件从客户端上传到 IBM 云存储,因此我只需要在客户端转换为 MP3。有什么帮助吗?
  • 我们不做图书馆推荐。但是有很多可以直接将您的 MediaStream 录制到 mp3,只需在您喜欢的搜索引擎中搜索“录制音频到 mp3 javascript”

标签: javascript reactjs


【解决方案1】:

如果你想转换成 mp3 类型应该是 mpeg

const mimeType = 'audio/mpeg';

希望对你有所帮助。

【讨论】:

    猜你喜欢
    • 2021-06-19
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2021-08-26
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多