javascript - 我没有使用 twilio 从本地摄像机获取视频

标签 javascript video twilio

我正在构建一个视频聊天应用。 python 中的后端部分工作正常(创建房间,将 token 添加到房间)。我可以连接到房间,笔记本电脑上的 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>

我做错了什么?还有什么是如何添加选项以静音我的摄像机的声音?

最佳答案

此处为 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");
  });

});

如果这有帮助,请告诉我。

关于javascript - 我没有使用 twilio 从本地摄像机获取视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46110209/

相关文章:

javascript - 从一个js调用jquery方法到另一个.js文档

javascript - AJAX 显示 PHP

javascript - 使用事件监听等待readyState html5视频

javascript - Node.js 视频上传获取Codec

c# - 无法加载文件或程序集 'RestSharp,版本 = 105.2.3.0

firebase - 是否可以从 firebase 向电话号码发送短信?

java - 如何使用 java tomcat 应用程序在 twilio 中接收和存储传入消息?

javascript - 根据当前状态删除按钮

javascript - 为网站制作立即打印部分

video - 无法使用 html5 视频标签播放 mp4 视频