我没有使用twilio从本地cammera获取视频

时间:2017-09-08 06:45:23

标签: javascript video twilio

我正在构建一个视频聊天应用。 python中的后端部分工作正常(创建房间,将令牌添加到房间)。我可以连接到房间,我的笔记本上的diod显示相机正在工作,但它不显示我本地相机的视频。这是我的代码

Twilio.Video.connect(doctor_token, {name: room_name}).then(function (room) {

    Twilio.Video.createLocalVideoTrack().then(function (track) {
        $("#localVideo").append(track.attach());
    });

    room.on('participantConnected', function (participant) {
        $("#patientVideo").append(participant.track.attach())
    })

});

这是html的一部分

  <div>
            <video id="localVideo"></video>
            <video id="patientVideo"></video>
</div>

我做错了什么?更多如何添加选项以从我的视频cammera中静音?

1 个答案:

答案 0 :(得分:2)

Twilio开发者传道者在这里。

在没有参数的情况下调用track.attach()实际上会创建一个<video>元素。然后,您的代码会将新的<video>元素附加到现有的<video id="localVideo"></video>元素中。如果您在此代码运行后检查DOM,那么您将找到嵌套视频。

你现在有两个选择。您可以将现有的<video>元素转换为<div id="localVideo">,并将创建的视频元素添加到其中,您将看到本地视频。 HTML:

<div>
  <div id="localVideo"></div>
  <div id="patientVideo"></div>
</div>

JavaScript保持不变。

或者,您可以保留HTML原样并将ID选择器传递给track.attach(),这会将视频从相机附加到现有元素。

本案例中的JavaScript变为:

Twilio.Video.connect(doctor_token, {name: room_name}).then(function (room) {

  Twilio.Video.createLocalVideoTrack().then(function (track) {
    track.attach("#localVideo");
  });

  room.on('participantConnected', function (participant) {
    participant.track.attach("#patientVideo");
  });

});

如果有帮助,请告诉我。