如何更改MediaRecorder的输入麦克风

时间:2020-07-18 21:30:16

标签: javascript webrtc voice-recording

我有以下代码段:

record.onclick = () =>{
    alert("Ok, recording is starting")
    navigator.mediaDevices.getUserMedia({audio:true})
    .then(stream => {
        mediaRecorder = new MediaRecorder(stream)
        mediaRecorder.start()
        chuck = []

        mediaRecorder.addEventListener("dataavailable", e => {
                chuck.push(e.data)
        })
        mediaRecorder.addEventListener("stop", e => {
                blob = new Blob(chuck)
                audio_url = URL.createObjectURL(blob)
                audio = new Audio(audio_url)
                audio.setAttribute("controls", 1)
                ok.appendChild(audio)
        })

    })
}

rStop.onclick = () =>{
    alert("Ok, recording is stopping")
    setTimeout(e => {
    mediaRecorder.stop()
    }, 1000)
    }
<button id="record">Record</button>
<button id="rStop">Stop Recording</button>

    <div id="ok"></div>

现在,它已成功从用户的麦克风录制。但是,我想创建一个允许用户更改其输入麦克风的选项。我该怎么做呢?我的最终目标是为用户创建一个下拉菜单以选择他们的麦克风,

我知道,该站点确实存在:https://webrtc.github.io/samples/src/content/devices/input-output/,但是我不确定如何将其实现到我的代码中……任何帮助都将是惊人的。

0 个答案:

没有答案