我正在遵循quickstart tutorial
中的示例基本上我的本地视频运行良好,但是当参与者加入会议室时,由于对象的格式不同,我似乎无法将曲目添加到DOM元素中。
第13行具有:
container.appendChild(track.attach());
但是在加入参与者时出现以下错误:
Uncaught (in promise) TypeError: track.attach is not a function
这是因为RemoteVideoTrackPublication
对象的结构(上面被解析为track
)在其中包含对象“ track”,因此它应该实际上是{{1 }}用于参与者对象。但是
仅 可以从JS控制台使用。在客户端JS控制台发生此错误之后,我可以附加视频流-但无论如何尝试,由于container.appendChild(track.track.attach());
函数似乎不存在,我似乎都无法正常添加轨道在attach.()
对象上。
这是简单的DOM还是事件排序问题?
答案 0 :(得分:0)
我有同样的问题,当我将twilio更新到版本2并在连接后更改代码时,我将其修复
room.participants.forEach(function (participant) {
console.log('Remote Participant connected: ', participant);
participant.tracks.forEach(function (publication) {
if (publication.isSubscribed) {
const track = publication.track;
document.getElementById('co-browsing-remote-screen').appendChild(track.attach());
}
});
});
答案 1 :(得分:0)
room.participants.forEach(function(participant) {
let previewContainer = document.getElementById('remoteTrack');
participant.on('trackSubscribed', track => {
previewContainer.appendChild(track.attach());
});
});