WebRTC[9]-报错:navigator.mediaDevices为undefined

目录

问题

解决

一、使用file协议打开的本地文件

二、使用https协议打开的服务器文件

三、使用http协议打开的服务器文件


问题

基于WebRTC进行JS开发时,有时在浏览器上会遇到navigator.mediaDevices.getUserMedia为undefined的报错。

《WebRTC工作原理精讲》系列-总览

解决

报navigator.mediaDevices.getUserMedia为undefined的错误,其实是因为navigator.mediaDevices没有找到。但这也只是表相,其根本原因是浏览器的安全策略,特别是chrome浏览器。

一般来说,JS开发有三种访问环境。

一、使用file协议打开的本地文件

比如,file:///Users/lz/job/demo.html。

二、使用https协议打开的服务器文件

比如,https://172.30.12.142:4000。

三、使用http协议打开的服务器文件

这里又细分为两种情况,首先需要说明的是172.30.12.142是本机的IP地址。

其一、http://172.30.12.142:4000

其二、http://localhost:4000

我们一般会认为二者是一样,其实不是,这里有个误区的。

注意:和http://localhost:4000一样的,其实是http://1

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

WebRTC工作原理精讲 文章被收录于专栏

WebRTC 作为当下最热门的实时音视频通讯框架,涉及非常多的过程,比如采集、编码、组包、发包、传输、收包、丢包重传、解封装、解码、音视频同步、渲染等,同时还包括很多功能特性,比如ANS、AGC、AEC,REMB、GCC、CNG、FEC、PLI、SVC等,需要一点点深入理解其中的奥秘。

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-03 18:22
投了几百份简历,专业和方向完全对口,都已读不回。尝试改了一下学校,果然有奇效。
steelhead:这不是很正常嘛,BOSS好的是即便是你学院本可能都会和聊几句,牛客上学院本机会很少了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务