首页 > 其他分享 >关于navigator.mediaDevices为undefined,获取不到媒体权限的问题

关于navigator.mediaDevices为undefined,获取不到媒体权限的问题

时间:2024-03-06 16:55:41浏览次数:19  
标签:mediaDevices 浏览器 undefined chrome https getUserMedia navigator

当时的场景是公司搭建的内部服务网站没有测试环境(有点鸡肋,说是因为需要线上成员信息认证登录),也因为跨域问题,所以需要制定线上环境的域名,本地localhost用不了,协议是http的,导致接入一个语音需求的时候本地调试出现了问题。

主要原因是浏览器的安全策略导致了这个问题

// 获取媒体信息

navigator.getUserMedia = navigator.getUserMedia ||

navigator.webkitGetUserMedia ||

navigator.mozGetUserMedia ||

navigator.msGetUserMedia;

if (navigator.getUserMedia) {

// 支持

console.log('支持');

} else {

// 不支持

console.log('navigator.getUserMedia - 不支持');

return

}

MediaDevices.getUserMedia() - Web API 接口参考 | MDN

navigator.mediaDevices在目前以下三种情况下可以获取到

1. 地址为localhost:// 访问时

2. 地址为https:// 时

3. 为文件访问file:///

解决方案是

1、采用https方案,由于线上环境都是https协议的,所以这个不用考虑,只是本地调试是一个大问题,所以忽略

2、采取修改chrome浏览器的安全策略

在chrome浏览器的地址栏中输入: chrome://flags/#unsafely-treat-insecure-origin-as-secure,将该 Disabled 切换成 enable 状态;
在输入框中填写需要开启的域名或地址(带上端口号),如果有多个,则以逗号分隔;
重启浏览器后生效



 

标签:mediaDevices,浏览器,undefined,chrome,https,getUserMedia,navigator
From: https://www.cnblogs.com/benbentu/p/18056973

相关文章

  • vue3中使用@vue-office/pdf项目中报Cannot set properties of undefined (setting 'wi
    最近项目研发的时候需要使用到pdf预览的功能,规定需要使用@vue-office/pdf插件0.2.5版本号,在使用的时候,一直无法正常运行,错误如下 但是在其他项目中却可以正常使用,想来应该是项目中的某个插件和这个有影响(不兼容)导致pdf无法预览,最终确定是vue版本的问题。正常使用的版本应该为......
  • Flutter 定义局部路由 Navigator
    Flutter中,通常我们使用Navigator来管理全局的页面路由,在整个应用中维护一个路由堆栈。但是,有些情况下你可能需要一个局部路由,也就是在应用的某个部分内部维护一个独立的路由堆栈,而不影响全局路由。为了实现这一点,你可以在你的应用中创建一个新的Navigator局部路由简单使用......
  • Python报错symbol lookup error: xxx.so: undefined symbol: cufftxxx解决办法
    技术背景在上一篇文章中介绍过如何实现本地MindSpore的CUDA算子,那么在算子编译和使用的过程中可能会出现一些小问题,这里介绍的是编译成功为so动态链接库之后,在python中调用,提示找不到xxx函数/字符的报错。这里使用的编译指令为:$nvcc--shared-Xcompiler-fPIC-oxxx.soxxx.c......
  • process.env.API_KEY undefined问题解决
    问题现象已经在root路径下面创建.env文件,但是使用process.env.API_KEY获取不到值。分析获取不到env文件中的值,检查env文件已配置API_KEY,检查是否安装了dotenv,检查是否导入配置了dotenv解决方法在index.ts中导入import'dotenv/config';应该在使用env的模块前面就导入dote......
  • type ColumnTypes = Exclude<EditableTableProps["columns"], undefined>; 这是什么意
    在TypeScript中,Exclude<T,U>是一个内置的类型操作符,它的作用是从联合类型T中排除那些与类型U相匹配的类型。这里的EditableTableProps["columns"]表示从EditableTableProps这个接口或类型中提取columns属性的类型。假设EditableTableProps定义如下:interfaceEdit......
  • useEffect 传入的函数,它的返回值要么是一个方法(清理函数),要么就是undefined,其他情况都
    useEffect传入的函数,它的返回值要么是一个方法(清理函数),要么就是undefined,其他情况都会报错比较常见的一个情况是,我们的useEffect需要执行一个async函数,比如://❌//Type'Promise<void>'providesnomatch//forthesignature'():void|undefined'useEffect(asyn......
  • vue3 在 TypeScript 文件中,const route = useRoute();route undefined 不能在顶层作用
    ts文件内部不能使用import{useRoute}from'vue-router';constroute=useRoute();routeundefined在TypeScript文件中,不能在顶层作用域内使用Vue组件的Hooks函数,例如useRoute。Hooks函数只能在Vue组件中使用。如果你想在TypeScript文件中获取当前路由信息,你可......
  • 解决latex在使用lstlisting环境时的Undefined control sequence.错误
    错误描述,如题,Undefinedcontrolsequence.\begin{lstlisting},查了不少的资料,起始就是一句话,缺了宏包的导入。先看代码:\documentclass[11pt,a4paper]{ctexart}\usepackage{listings}%插入代码要引入的宏包\author{gsc}\title{sample}\lstset{columns=fixed,......
  • javascript中的undefined可以被重写
    众所周知,当声明一个变量,并且没有给赋值的情况下,它的初始值是 undefined。但是在javascript中,怎么检查一个值是否为 undefined 呢?在现代浏览器中,你可以安全的直接比较将变量是与 undefined 进行比较if(name===undefined){//...}一些人反对直接使用 undefined......
  • DIANN-MSstats groupComparison Issue: undefined columns selected
    1.Whaterrormessagedidyouencounter?Errorin`[.data.frame`(as.data.frame(comparisons),,cols):undefinedcolumnsselected 2.Howdidyousolvetheerror?install.packages("lme4",type="source") 3.Whatarethepos......