设备权限

设备权限

如何打开设备权限

桌面端

Chrome 浏览器

  • 快捷打开/关闭 Chrome 设备权限,具体如下图。

    需要已经设置过已访问 URL 的设备权限。

  • 通过设置,打开/关闭 Chrome 设备权限,具体如下。

    • Step1

    • Step2

    • Step3

Safari 浏览器

Safari 浏览器:【设置】->【网站】->【摄像头】或【麦克风】,具体如下图:

移动端

iPhone

默认会通过 navigator.mediaDevices.getUserMedia({ audio: true, video: true }) 检查设备,因此会弹出授权弹框。iPhone Safari 弹框如下图:

也可通过:【设置】->【隐私与安全性】,然后设置 “相机”、“麦克风” 对应的应用权限。

华为手机

【设置】->【隐私】->【权限管理】,找到对应的浏览器应用,然后设置【相机/麦克风】对应的权限。具体如下图:

小米手机

【设置】->【应用设置】->【应用管理】->【找到对应的浏览器】->【权限管理】,然后设置【相机/录音】对应的权限。具体如下图:

其它手机

可以搜索对应手机,如何设置应用的相机、麦克风权限。

本地无摄像头,可以预览远端吗?

可以,目前通话策略如下:

  1. 无麦克风设备(或麦克风无权限),无法呼叫和接听。

    原因:无音频时,基本的语音都没有。

  2. 视频通话下,可以没有摄像头设备(或摄像头无权限)。

    影响:无摄像头(或摄像头无权限)的用户没有推视频流,因此其他用户无法看到该用户。但是该用户可以正常预览推视频流的用户。

本地无摄像头,如何预览远端?

请在收到 USER_VIDEO_AVAILABLE 事件且事件里的 isVideoAvailable 参数为 true 时,调用 startRemoteView 预览远端。具体如下:

import { TUICallEvent } from 'tuicall-engine-webrtc';
async function handleUserAudioChange(event) {
  const { userID, isVideoAvailable } = event;
  const options = { objectFit: 'contain' };
  if (isVideoAvailable) {
    await tuiCallEngine.startRemoteView({
      userID,
      videoViewDomID: 'video_1',
      options,
    });
  }
}
tuiCallEngine.on(TUICallEvent.USER_VIDEO_AVAILABLE, handleUserAudioChange)