gpt4 book ai didi

javascript - 如何使用 RTCPeerConnection.removeTrack() 删除视频或音频或两者?

转载 作者:行者123 更新时间:2023-12-01 15:55:56 24 4
gpt4 key购买 nike

我正在研究 WebRTC 并试图弄清楚它是如何工作的。

我修改了this sample在 WebRTC.github.io 上制作 leftVideo 的 getUserMedia 源并流式传输到 rightVideo。它可以工作。

我想添加一些功能,比如当我在 leftVideo 上按下暂停时(我的浏览器是 Chrome 69)

我改变了 Call()

...
stream.getTracks().forEach(track => {
pc1Senders.push(pc1.addTrack(track, stream));
});
...

并在leftVideo上添加功能
leftVideo.onpause = () => {
pc1Senders.map(sender => pc1.removeTrack(sender));
}

我不想关闭连接,我只想关闭视频或音频。

但是在我暂停 leftVideo 之后,rightVideo 仍然会被跟踪。
我在这里做错了,还是在其他地方做错了?

谢谢你的帮助。

最佳答案

首先,您需要获取对等体的流。您可以使用 enabled 静音/隐藏流MediaStreamTrack 的属性.使用下面的代码片段切换媒体。

/* stream: MediaStream, type:trackType('audio'/'video') */
toggleTrack(stream,type) {
stream.getTracks().forEach((track) => {
if (track.kind === type) {
track.enabled = !track.enabled;
}
});
}

关于javascript - 如何使用 RTCPeerConnection.removeTrack() 删除视频或音频或两者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52714955/

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