网络音频:如何设置与扬声器不同的目的地?

问题描述

我很难理解如何使用一个AudioContext来实现以下目标:

  1. 我使用createmediastreamsource创建上下文的源–有效。

  2. 然后我将一个卷节点连接到源–起作用。

  3. 然后我想创建两个输出一个是“标准”输出(扬声器),第二个将用于馈入mediaRecorder

我对第三点感到困惑。如何指定与扬声器不同的输出输出仍然是我可以输入到MediaRecorder的流吗?

解决方法

根据您的描述,我假设您有一些看起来像这样的代码:

mediaStreamAudioSourceNode
    .connect(gainNode) // your volume node
    .connect(audioContext.destination);

您只需要添加另一个MediaStreamAudioDestinationNode并将其用作附加输出即可。

const mediaStreamAudioDestinationNode = new MediaStreamAudioDestinationNode(audioContext);

gainNode.connect(mediaStreamAudioDestinationNode);

const mediaRecoder = new MediaRecorder(mediaStreamAudioDestinationNode.stream);