我有一个功能正常的Twilio视频聊天应用程序正在按预期工作,除了当用户点击关闭按钮时我无法结束视频流。我已经浏览了Javascript快速入门并尝试了以下实现:
(尝试使用WebRTC的方法,抱怨Twilio.Media.MediaStream未定义);
function endVidConf(room){
console.log('Attempting to end Vid Conf');
room.localParticipant.tracks.forEach(function(track) {
var attachedElements = track.detach();
attachedElements.forEach(function(element){
element.remove();
});
});
Twilio.Media.MediaStream.getAudioTracks()[0].stop();
Twilio.Media.MediaStream.getVideoTracks()[0].stop();
room.disconnect();
};
(使用track.stop() - 网络摄像头仍在运行):
function endVidConf(room){
console.log('Attempting to end Vid Conf');
room.localParticipant.tracks.forEach(function(track) {
var attachedElements = track.detach();
attachedElements.forEach(function(element){
element.remove();
});
track.stop();
});
room.disconnect();
};
是否有一些简单的我缺少或者需要更多有关我的实施的详细信息?
答案 0 :(得分:0)
我必须确保所有代码更改都在Twilio.Connect.createLocalTracks().then(function(){...});
之内。在其他地方尝试类似的修补程序不起作用。我必须将本地曲目分配给trackArray,然后对该阵列上的条目调用stop()
Twilio.Video.createLocalTracks().then(function(localTracks) {
...
trackArray = localTracks;
trackArray[0].stop();
trackArray[1].stop();
...
})
这个问题一定是以某种方式悬挂。