0

我需要录制使用 AWS Chime JavaScript SDK 的会议(屏幕 + 麦克风 + 窗口音频)。我曾尝试使用 MediaStream 和 MediaRecorder,但到目前为止,我只设法录制了屏幕视频、扬声器麦克风音频以及来自浏览器中不同选项卡的任何音频。每当与会者讲话时,录音中都不会听到他的声音。

但是,当我在本地项目上运行相同的录制代码时,我能够录制屏幕和系统音频,其中包括在会议上发言的每个人。为什么会这样?

这是我的代码:

async setupStream() {
      try {
        this.stream = await navigator.mediaDevices.getDisplayMedia({
          video: { mediaSource: 'screen' },
          audio: true,
        })

        this.audio = await navigator.mediaDevices.getUserMedia({
          audio: true,
        })


        this.audioCtx = DefaultDeviceController.getAudioContext();

        this.source1 = this.audioCtx.createMediaStreamSource(this.audio)
        this.source2 = this.audioCtx.createMediaStreamSource(this.stream)

        this.destination = this.audioCtx.createMediaStreamDestination()

        this.source1.connect(this.destination)
        this.source2.connect(this.destination)
      } catch (err) {
        console.error(err)
      }
    }

async start() {
wait this.setupStream()

      if (this.stream && this.audio) {
        this.mixedStream = new MediaStream()
        this.mixedStream.addTrack(this.stream.getVideoTracks()[0])
        this.mixedStream.addTrack(this.destination.stream.getAudioTracks()[0])


        this.recorder = new MediaRecorder(this.mixedStream)


        this.chunks = []
        this.recorder.ondataavailable = (e) => this.chunks.push(e.data)
        this.onStopRecord()

        this.recorder.start(1000)

        this.recordStart()
        this.recording = true
        this.modal = false
      }
}

关于如何使用 AWS Chime 录制会议的任何想法?

4

0 回答 0