【发布时间】:2021-01-05 21:27:49
【问题描述】:
我正在使用以下代码来获取媒体并发布曲目:
const stream = await navigator.mediaDevices.getDisplayMedia();
let screenTrack = new Twilio.Video.LocalVideoTrack(stream.getTracks()[0]);
room.localParticipant.publishTrack(screenTrack);
screenTrack.once('stopped', () => {
room.localParticipant.unpublishTrack(screenTrack);
screenTrack.stop();
screenTrack = null;
});
这是我在添加曲目时使用的:
participant.on('trackAdded', track => {
let div = document.createElement("div");
let participantAttr = document.createAttribute("participant-sid");
participantAttr.value = `${participant.sid}`;
div.setAttributeNode(participantAttr);
document.getElementById('remote-media-div').appendChild(div);
div.appendChild(track.attach());
});
问题是当添加 div(一个新轨道)时,无论是屏幕视频还是网络摄像头视频,它都具有所有相同的属性,当我需要对屏幕视频进行处理时,我无法区分这两者使用 javascript。
如何为屏幕共享 div/video 分配特殊属性(如 screen=true)?
【问题讨论】:
标签: javascript twilio twilio-api twilio-video