gpt4 book ai didi

javascript - 使用 rtc 的 Firefox createMediaStreamDestination 错误?

转载 作者:数据小太阳 更新时间:2023-10-29 05:22:42 32 4
gpt4 key购买 nike

我通过 rtc 流式传输音频并希望将音频静音和取消静音。

这有效……但没有增益控制:

function(stream) { /* getUserMedia stream */
console.log("Access granted to audio/video");
peer_connection.addStream(stream);
}

这适用于 chrome 但不适用于 Firefox(具有增益控制)

function(stream) { /* getUserMedia stream */
console.log("Access granted to audio/video");
var microphone = context.createMediaStreamSource(stream);
gainNode = context.createGain();
var dest = context.createMediaStreamDestination();
microphone.connect(gainNode);
gainNode.connect(dest);

local_media_stream = dest.stream;
peer_connection.addStream(local_media_stream);
}

我没有收到任何错误消息,也没有听到任何声音。当我将 gainNode 发送到 context.destination 时,我可以听到自己的声音。

我认为“context.createMediaStreamSource(stream)”有任何问题。谁能告诉我为什么?以及如何解决这个问题。


编辑:所以我检查了流并:

stream //type: LocalMediaStream    
dest.steam //type: MediaStream

在 Firefox 中!在 chrome 中都是 MediaStreams

最佳答案

要使音频静音,您可以通过以下方式启用/禁用轨道本身:

stream.getAudioTracks()[0].enabled = false;  // mutes

这不会解决增益节点的问题,这很可能是目前 Firefox 中的错误/限制(在这种情况下我们只能等待修复)。但如果目的是(取消)静音,这应该可行(它也适用于视频轨道)。

关于javascript - 使用 rtc 的 Firefox createMediaStreamDestination 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29550278/

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