正在尝试通过屏幕共享连接到Twilio视频室

正在尝试通过屏幕共享连接到Twilio视频室,twilio,Twilio,我一直在研究如何围绕Twilio的“Chrome屏幕捕获”指南设计一个新的应用程序: 我已经成功地创建了一个Chrome扩展,发布了它,并且能够共享一个屏幕并将其连接到一个房间 我希望有人能帮助我让另一个用户连接并查看共享房间(共享屏幕) 我已经通过以下代码(长度截取)共享了我的屏幕,并通过Twilio控制台验证了它确实已连接: const room = await connect(twToken, { name: 'marty', tracks: [] }); con

我一直在研究如何围绕Twilio的“Chrome屏幕捕获”指南设计一个新的应用程序:

我已经成功地创建了一个Chrome扩展,发布了它,并且能够共享一个屏幕并将其连接到一个房间

我希望有人能帮助我让另一个用户连接并查看共享房间(共享屏幕)

我已经通过以下代码(长度截取)共享了我的屏幕,并通过Twilio控制台验证了它确实已连接:

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
在这种情况下的行为非常有趣。也许在尝试连接选定的视频和音频之前,使用是一件好事情?干杯,我会尝试的。在发送任何其他信息之前,最好先捕获设备上的任何问题