Javascript Twilio房间未断开连接/网络摄像头LED保持亮起
我正在我的js应用程序中实现twilio视频。我想要的行为是,如果远程参与者与会议室断开连接,本地参与者也应该离开会议室,网络摄像头应该停用 然而,正在发生的事情是,参与者离开了,网络摄像头指示灯仍然亮着,它似乎仍然流到twilio,直到我关闭浏览器 我将如何着手解决这个问题Javascript Twilio房间未断开连接/网络摄像头LED保持亮起,javascript,twilio,Javascript,Twilio,我正在我的js应用程序中实现twilio视频。我想要的行为是,如果远程参与者与会议室断开连接,本地参与者也应该离开会议室,网络摄像头应该停用 然而,正在发生的事情是,参与者离开了,网络摄像头指示灯仍然亮着,它似乎仍然流到twilio,直到我关闭浏览器 我将如何着手解决这个问题 function connectVideo(accessToken){ const Video = Twilio.Video; Video.connect(acce
function connectVideo(accessToken){
const Video = Twilio.Video;
Video.connect(accessToken, { name: customerToken}).then(room => {
console.log('Connected to Room "%s"', room.name);
inCall = 1
room.participants.forEach(participantConnected);
room.on('participantConnected', participantConnected);
room.once('participantDisconnected', participant => {
console.log(`Participant "${participant.identity}" has disconnected from the Room!`);
room.disconnect();
var div = document.getElementById(participant.sid);
div.remove()
inCall = 0
});
room.on('disconnected', room => {
// Detach the local media elements
room.localParticipant.tracks.forEach(publication => {
const attachedElements = publication.track.detach();
console.log("unsubscribed from: " + publication.track)
attachedElements.forEach(element => element.remove());
});
});
});
function participantConnected(participant) {
console.log('Participant "%s" connected', participant.identity);
const div = document.createElement('div');
div.id = participant.sid;
participant.on('trackSubscribed', track => trackSubscribed(div, track));
participant.on('trackUnsubscribed', trackUnsubscribed);
participant.tracks.forEach(publication => {
if (publication.isSubscribed) {
trackSubscribed(div, publication.track);
}
});
document.body.appendChild(div);
}
function trackSubscribed(div, track) {
div.appendChild(track.attach());
}
function trackUnsubscribed(track) {
track.detach().forEach(element => element.remove());
}
}
这里是Twilio开发者福音传道者 当您的参与者与房间断开连接时,您当前正在断开轨道。附加和分离仅指从DOM中显示和删除视频和音频元素。要完全停止媒体,从而熄灭摄像头LED,您还需要打开每个曲目
room.localParticipant.tracks.forEach(publication => {
publication.track.stop();
const attachedElements = publication.track.detach();
console.log("unsubscribed from: " + publication.track)
attachedElements.forEach(element => element.remove());
});
你好@AlbertoRojas,很难说出你的应用程序在做什么,因为我只知道原始问题的背景。如果您有问题,最好提出一个新问题并提供您自己的代码。