【发布时间】:2021-05-31 18:46:26
【问题描述】:
我正在使用媒体流记录器与电子 js 中的 ffmpeg 一起使用,然后在停止时重新开始我得到的记录 this error
我正在以时间片 = 0 开始记录
const sourcesMediaStream = new MediaStream()
navigator.mediaDevices.getUserMedia({ video: false, audio: { deviceId: { exact: "default" } } }).then(stream => {
sourcesMediaStream.addTrack(stream.getAudioTracks()[0])
})
videoStream = canvas.captureStream(15).getVideoTracks()[0]
const recorder = new MediaRecorder(sourcesMediaStream, {
audioBitsPerSecond: 128000,
videoBitsPerSecond: 2500000,
})
btn.addEventListner("click", () => {
if (!streaming) {
recorder.start(0)
} else {
recorder.stop()
}
})
recorder.ondataavailable = async function (e) {
ipcRenderer.send("ytStreamBuffer", new Uint8Array(await e.data.arrayBuffer()))
}
【问题讨论】:
-
分享更多你的代码。
-
您立即构建并启动
recorder,但在getUserMedia承诺解决之前,sourcesMediaStream尚未完全设置。您需要等到您的.then块才能设置记录器。不确定这里是否还有更多内容,因为根据其他评论,似乎缺少一些代码。 -
@kdau 问题不是在第一次启动刻录机而是在第二次
标签: javascript electron web-mediarecorder