首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >getUserMedia在网站上工作,但不在手机上工作

getUserMedia在网站上工作,但不在手机上工作
EN

Stack Overflow用户
提问于 2019-01-08 09:41:13
回答 6查看 7.4K关注 0票数 5

我正在使用getusermedia记录音频在我的网站。我已经包含了getusermedia的javascript。该记录功能在网站上运行良好,但在手机上打开时甚至不会弹出许可。

代码语言:javascript
运行
复制
var constraints = {
  audio: true,
  video: false
}
navigator.mediaDevices.getUserMedia(constraints).then(function(stream) {
  permissiongiven = 1;
});

这是一个示例代码,它提示我获得许可,但在移动设备上不起作用。我怎样才能让它在这两种设备上工作。任何帮助都是非常感谢的。谢谢。

编辑:-代码现在在移动设备上运行良好。可能是通过铬更新或网站的安全证书解决的。谢谢大家的帮助。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2020-05-25 05:44:58

注意,在移动设备上,您必须使用SSL来使用getUserMedia()。看看你是否使用http://前缀访问你的网站。尝试将其更改为https://,它应该可以正常工作。

票数 7
EN

Stack Overflow用户

发布于 2019-01-11 21:53:36

我发现这个网站对回答这个问题很有用。

https://caniuse.com/#search=getusermedia

它说getUserMedia只支持70 (2018年10月16日发布)

票数 1
EN

Stack Overflow用户

发布于 2019-01-17 21:32:15

检查MDN,然后确保浏览器支持它。它说,安卓52+需要Chrome。FWIW 68 为我工作

您还应该特性-检查和捕获错误:

代码语言:javascript
运行
复制
if (!navigator.mediaDevices) {
  console.log("Sorry, getUserMedia is not supported");
  return;
}

navigator.mediaDevices.getUserMedia(constraints)
.then(stream => permissiongiven = 1)
.catch(error => console.log(error));

根据你所犯的错误,我们可能会学到更多。

  • NotFoundError意味着设备上没有检测到摄像头或麦克风。
  • NotAllowedError意味着未授予用户权限,或者您处于iframe或不是https中。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54088994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档