【发布时间】:2017-09-22 02:17:44
【问题描述】:
现在在“room.on('trackAdded')”中,我无法判断添加的曲目是否是屏幕共享。有没有办法告诉?
【问题讨论】:
标签: javascript twilio twilio-api
现在在“room.on('trackAdded')”中,我无法判断添加的曲目是否是屏幕共享。有没有办法告诉?
【问题讨论】:
标签: javascript twilio twilio-api
这里是 Twilio 开发者宣传员。
据我所知,每个轨道都是 VideoTrack 或 AudioTrack。屏幕共享将是一个 VideoTrack,但除此之外,它与来自摄像头源的另一个 VideoTrack 没有区别。
编辑
经过进一步研究,我发现以下内容:
您可以设置一个name for LocalTracks,它会显示在远程端。例如,如果您创建一个新的MediaStreamTrack 即屏幕,并将publish that track 分配给您的本地参与者,那么您可以为其设置一个名称。
localParticipant.publishTrack(screenVideoTrack, { name: 'screen' })
然后,当您收到trackAdded 事件时,您可以检查轨道的名称属性:
room.on('trackAdded', (track, participant) => {
console.log(track.name);
});
【讨论】:
谢谢@philnash,我正在使用建议的行为。
但是对于 Twilio 2.x,它似乎被打破了。根据documentation,在本地轨道创建期间需要指定选项(添加名称):
const newScreenLocalTrack = new Twilio.Video.LocalVideoTrack(newScreenTrack, {name: 'screen'})
然后只发布创建的曲目,不带任何选项:
localParticipant.publishTrack(newScreenLocalTrack)
【讨论】: