gpt4 book ai didi

mediarecorder - 使用 MediaRecorder 录制流中可用的多音轨

转载 作者:行者123 更新时间:2023-12-04 03:04:15 38 4
gpt4 key购买 nike

我正在为 chrome 商店构建一个屏幕录像机插件。我是 将麦克风的音轨添加到媒体流 包含( 屏幕的视频轨道 + 系统音频轨道 )。所以最终流包含 2 个音轨,一个是麦克风,另一个是系统音频。

当我将此流传递给 时MediaRecorder(流) ,与最终视频相比,我只能收听 中索引为 0 的单个音频stream.getAudioTracks() ,即 MediaRecorder 仅录制单个音轨。

那么如何使用 MediaRecorder 录制包含多音轨的流呢?

最佳答案

你可以看看Muaz Khan's Library用于多流混合。或者你可以这样做:

const screenStream;
const micStream;
const remoteStream;
// merge audio from remote stream and micStream

const audioCtx = new AudioContext();
const source1 = audioCtx.createMediaStreamSource(micStream);
const source2 = audioCtx.createMediaStreamSource(remoteStream);
const destination = audioCtx.createMediaStreamDestination();

//connect sources to destination
// you can add gain nodes if you want
source1.connect(destination);
source2.connect(destination);

const outputStream= new MediaStream();
outputStream.addTrack(screenStream.getVideoTracks()[0]);
outputStream.addTrack(destination.stream.getAudioTracks()[0]);

关于mediarecorder - 使用 MediaRecorder 录制流中可用的多音轨,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46074239/

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