gpt4 book ai didi

camera - WebRTC - 实时更改设备/相机

转载 作者:行者123 更新时间:2023-12-04 15:09:47 30 4
gpt4 key购买 nike

我在尝试实时更换相机时遇到问题,它适用于本地视频,但远程人员看不到新相机,但仍然可以看到旧相机。我试图停止流并再次初始化,但仍然无法正常工作。这只是我的一些代码。
我到处搜索,但找不到解决方案。有人可以帮我吗?

function init() {
getUserMedia(constraints, connect, fail);
}

$(".webcam-devices").on('change', function() {
var deviceID = this.value;
constraints.video = {
optional: [{
sourceId: deviceID
}]
};
stream.getTracks().forEach(function (track) { track.stop(); });
init();
});

最佳答案

您需要实际更改您在 PeerConnection 中发送的轨道。在 Firefox 中,您可以使用 RTPSender.replaceTrack(new_track);无需重新协商即可更改(现在正在将其添加到规范中)。否则,您需要将新的流/轨道添加到 RTCPeerConnection,并删除旧的,然后处理 onnegotiationneeded 事件并重新协商

查看@jib 的 fiddle 之一:Jib's replaceTrack() fiddle :

function flip() {
flipped = 1 - flipped;
return pc1.getSenders()[0].replaceTrack(streams[flipped].getVideoTracks()[0])
.then(() => log("Flip! (notice change in dimensions & framerate!)"))
.catch(failed);
}

关于camera - WebRTC - 实时更改设备/相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32440724/

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