正在尝试通过屏幕共享连接到Twilio视频室
我一直在研究如何围绕Twilio的“Chrome屏幕捕获”指南设计一个新的应用程序: 我已经成功地创建了一个Chrome扩展,发布了它,并且能够共享一个屏幕并将其连接到一个房间 我希望有人能帮助我让另一个用户连接并查看共享房间(共享屏幕) 我已经通过以下代码(长度截取)共享了我的屏幕,并通过Twilio控制台验证了它确实已连接:正在尝试通过屏幕共享连接到Twilio视频室,twilio,Twilio,我一直在研究如何围绕Twilio的“Chrome屏幕捕获”指南设计一个新的应用程序: 我已经成功地创建了一个Chrome扩展,发布了它,并且能够共享一个屏幕并将其连接到一个房间 我希望有人能帮助我让另一个用户连接并查看共享房间(共享屏幕) 我已经通过以下代码(长度截取)共享了我的屏幕,并通过Twilio控制台验证了它确实已连接: const room = await connect(twToken, { name: 'marty', tracks: [] }); con
const room = await connect(twToken, {
name: 'marty',
tracks: []
});
const stream = await getUserScreen(['screen'], chrmExID);
const screenLocalTrack = new LocalVideoTrack(stream.getVideoTracks()[0]);
然后,我创建了一个由第二个系统访问的测试站点,以连接到上面的房间。
我尝试过不同的方法,但第二个用户似乎从未在房间里看到共享视频。
例如:
const remoteDiv = document.getElementById('bodyScreen');
room.participants.forEach(participant => {
participant.tracks.forEach(track => {
remoteDiv.appendChild(track.attach());
});
通过Chrome调试,我看到forEach正在试图枚举一个未定义的对象
我还尝试了Twilio在GitHub上提供的一些ASP.NET C#解决方案,但我似乎发现Twilio NuGet软件包和我在这里使用的Twilio-video.min.js之间存在不匹配问题 我目前正在写一个关于构建这样一个应用程序的博客系列,但还没有完成。不过,我在这里或许能帮点忙 当你加入一个房间,以及立即列举现有的参与者和他们的轨道,你也应该听取每一个。参与者连接后,曲目可能不会立即连接,因此收听该活动将收到参与者加入会议室后添加的任何曲目
room.participants.forEach(participant => {
participant.on('trackAdded', track => {
remoteDiv.appendChild(track.attach());
});
});
就像我说的,我还在这里写我的经历,所以请留意这个系列出版的时间
让我知道这是否有帮助。谢谢你的帮助,我几天前发现并试用过,效果很好!不过我遇到了另一个障碍,我在这里列出了它,希望能有所帮助。当Twilio视频连接到房间时,它会列举系统上可用的设备。如果没有找到(对于屏幕共享的接收者来说这是一个有效的情况),它抛出一个错误并停止。我让另一个用户也将他们的屏幕共享到房间中,这使Twilio视频能够成功连接,然后连接到我的屏幕共享曲目。链接到GitHub上的讨论:感谢您的报道,了解
getUserMedia
在这种情况下的行为非常有趣。也许在尝试连接选定的视频和音频之前,使用是一件好事情?干杯,我会尝试的。在发送任何其他信息之前,最好先捕获设备上的任何问题