gpt4 book ai didi

javascript - 如何记录网络/浏览器音频输出(不是麦克风音频)

转载 作者:行者123 更新时间:2023-11-29 23:00:54 25 4
gpt4 key购买 nike

有没有人能够成功访问从浏览器窗口(而不是从麦克风)输出的音频流?

我们目前正在构建一个录音棚应用程序,用户可以在其中演奏乐器,我们希望能够在生成音频时进行录制和保存。我们有本地保存的 mp3 文件(即按下钢琴键)生成的实时音频输出,但无法捕获此音频流序列以进行保存。

最佳答案

我假设您正在为这个项目使用 Web Audio API。

首先,您需要创建一个 MediaStreamAudioDestinationNode .这是一个 Web 音频节点,您可以将图形的其余部分连接到该节点,并将其输出到可以记录的 MediaStream。

const mediaStreamDestination = audioContext.createMediaStreamDestination();

yourSourceNode.connect(mediaStreamDestination);

接下来,您需要一个 MediaRecorder,它将在 MediaStream 生成原始 PCM 音频时获取它,并使用所需的编解码器对其进行编码。

const mediaRecorder = new MediaRecorder(mediaStreamDestination.stream);

mediaRecorder.addEventListener('dataavailable', (e) => {
// Recorded data is in `e.data`
});

mediaREcorder.start();

请注意,无论您的 MediaStream 是来自 getUserMedia 还是来自您的 Web Audio API 图,此 MediaRecorder 示例都是完全相同的。

完整示例在这里:https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamAudioDestinationNode

关于javascript - 如何记录网络/浏览器音频输出(不是麦克风音频),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55686982/

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