• 音视频通话系统/企业级私有化部署视频会议系统EasyRTC-MCU进入会议室获取设备权限失败问题调整


    webrtc的存在给在线视频会议系统带来了新的模式,TSINGSEE青犀视频开发的网页视频会议系统EasyRTC综合了webrtc和rtmp/rtsp方案的优点,支持一对一、一对多等视频会议互动通话,满足语音社交、在线教育和培训、视频会议和远程医疗等场景。

    EasyRTC分为MCU版本和SFU版本,EasyRTC-MCU版本在进入会议室的时候,如果是第一次进入,会先获取本页面对摄像头和麦克风,此时若用户不进行操作,或是等待5秒以上,则会进入会议室失败,且在此进入时会直接报权限获取失败。因为等待时间而造成的获取权限失败通常都是不合理的,因此我们需要对此处进行调整。

    首先进入会议室,必须获取到设备的权限,因此进入会议室前,可以做一个获取权限判断,如果用户选择确定则进入会议室,如果用户手动点击取消,则取消进入会议室,同时下次进入时,会直接提示请先获取设备权限。若用户不操作,则一直处于获取权限弹框状态。

    实现代码参考如下:

        getMedia(params) {
          let that = this;
          let options;
          if (params.type === "video") {
            options = {
              audio: true,
              video: true,
            };
          } else {
            options = {
              audio: true,
              video: false,
            };
          }
          console.log(options);
          navigator.mediaDevices
            .getUserMedia(options)
            .then(function (stream) {
              console.log("获取成功");
              that.$router.push({
                path: "player",
                query: { id: params.id, type: params.type },
              });
            })
            .catch((res) => {
              that.$message({
                type: "error",
                message: "请先获取设备权限!",
              });
            });
        },
    
    

    WebRTC是一个支持网页浏览器进行实时语音对话或视频对话的API,实现了基于网页的视频会议,标准是WHATWG协议,目的是通过浏览器提供简单的javascript就可以达到实时通讯能力,而EasyRTC在此基础之上增加了更加丰富且便捷的功能。如果对webrtc有兴趣,可阅读:WebRTC技术为什么突然崛起了

  • 相关阅读:
    HTML5之标签
    Linux常用命令(二十四)
    Linux常用命令(二十三)
    Python 定位excel表格的最后一个单元格的位置
    tornado学习
    Linux一些基础命令
    用python打造自己的SDK--使用setuptools打包安装
    Centos开放指定端口命令
    python sqlalchemy基本使用
    python rpc
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/14659071.html
Copyright © 2020-2023  润新知