首页 > 解决方案 > 在 Chrome 上用 JavaScript 录制音频,总是将视频/ogg 发送到服务器

问题描述

我一直在尝试在 Chrome 上以 OGG 格式录制音频并将其发送回服务器,但它总是以视频/ogg 格式获取它们。这是我所拥有的:

捕获音频:

let chunks = [];
let recording = null;

let mediaRecorder = new MediaRecorder(stream);
mediaRecorder.start();

mediaRecorder.onstop = function() {
    recording = new Blob(chunks, { 'type' : 'audio/ogg; codecs=opus' });
}

mediaRecorder.ondataavailable = function(e){
    chunks.push(e.data);
}

将其发送到服务器:

let data = new FormData();
data.append('audio', recording);

jQuery.ajax(...);

blob 到达后端,但总是在视频/ogg 中!

标签: javascripthtml5-audioweb-mediarecorder

解决方案


我最终使用了kbumsik/opus-media-recorder,为我解决了这个问题。MediaRecorder 的直接替代品。


推荐阅读