Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Javascript录制音频_Javascript_Html - Fatal编程技术网

用Javascript录制音频

用Javascript录制音频,javascript,html,Javascript,Html,我正在尝试使用MediaSourceExtensions和MediaRecorder以html格式录制和播放音频 这是我的密码: async function recordAudio() { let mediaDevices = navigator.mediaDevices; let MediaStream = await mediaDevices.getUserMedia({audio: true}); let mediaRecorder = new MediaReco

我正在尝试使用MediaSourceExtensions和MediaRecorder以html格式录制和播放音频

这是我的密码:

async function recordAudio()
{
    let mediaDevices = navigator.mediaDevices;
    let MediaStream = await mediaDevices.getUserMedia({audio: true});
    let mediaRecorder = new MediaRecorder(MediaStream);
    let audio = document.querySelector('audio');
    let chunks = [];
    mediaRecorder.start(400);
    var mediaSource = new MediaSource();
    video.src = URL.createObjectURL(mediaSource);
    var sourceBuffer = mediaSource.addSourceBuffer("audio/ogg;codecs=opus");
    mediaRecorder.ondataavailable = (e) => 
    {
        sourceBuffer.appendSourceBuffer(e.data);
    };
}
以下是我(在Firefox上)遇到的错误:

我要做的是在输入后几乎立即/400ms播放声音,但我不知道如何修复它

任何帮助都将不胜感激

更新: 我将mimeType更改为“audio/mp4;codecs=“mp4a.40.2”,这显然是唯一受支持的格式,解决了第一个问题,但现在浏览器向我显示以下错误消息:

Uncaught (in promise) DOMException: An attempt was made to use an object that is not, or is no longer, usable (line 11).

您是否尝试过使用受支持的格式?错误消息非常清楚:“audio/ogg;codecs=opus”不受支持。您使用的浏览器是什么?我搜索了“mediasourceextension支持的格式”,但找不到太多。
Uncaught (in promise) DOMException: An attempt was made to use an object that is not, or is no longer, usable (line 11).