gpt4 book ai didi

node.js - 可以同时使用 getUserMedia 和 getDisplayMedia

转载 作者:行者123 更新时间:2023-12-05 05:01:14 25 4
gpt4 key购买 nike

我想合并 getUserMedia 和 getDisplayMedia 流。我正在使用 MediaRecorder。当我从 getUserMedia 切换到 getDisplayMedia 然后 MediaRecorder 录制视频直到我不切换到 getDisplayMedia 时。然后 getDisplayMedia 产生自己的流,当我合并两个流时得到损坏的 mp4 视频。

最佳答案

启动两个不同的流并将音轨添加到来自 getDisplayMedia 的视频中,如下所示:

    async function startRecording() {
videoStream = await navigator.mediaDevices.getDisplayMedia({
video: {MediaSource: "screen"},
});

audioStream = await navigator.mediaDevices.getUserMedia({
audio: {
sampleSize: 100,
frameRate: { max: 30 },
noiseSuppression: true,
echoCancellation: true,
channelCount: 2
}
});

var audioTrack = audioStream.getAudioTracks()[0];

videoStream.addTrack(audioTrack);

recorder = new MediaRecorder(videoStream);

const chunks = [];
recorder.ondataavailable = (e) => chunks.push(e.data);
recorder.onstop = (e) => {
const completeBlob = new Blob(chunks, { type: "video/mp4" });
videoFile = new File([completeBlob], "recording.mp4");
console.log(videoFile);

console.log(completeBlob);
vimeoCall(videoFile);
};

recorder.start();
}

关于node.js - 可以同时使用 getUserMedia 和 getDisplayMedia,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62792024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com