javascript–navigator.getUserMedia无法在AndroidChrome上运行

javascript–navigator.getUserMedia无法在AndroidChrome上运行,第1张

概述你知道为什么以下代码在Android/Chrome上不起作用吗?它适用于桌面/Chrome.functionconsole_log(data){ console.log(data) vardata_str=String(data); var$div=$('<div></div>'); $div.append(data_str); $('.console').append($div);}$(functi

你知道为什么以下代码在Android / Chrome上不起作用吗?

它适用于桌面/ Chrome.

function console_log(data) {	console.log(data)	var data_str = String(data);	var $div = $('<div></div>');	$div.append(data_str);	$('.console').append($div);}$(function(){	var constraints = { audio: true, vIDeo:false }	//---	console_log('navigator.mediaDevices...');	console_log(navigator.mediaDevices);	//---	// # TEST 01 #	var userMedia = navigator.getUserMedia(constraints, function(){		console_log('---');		console_log('# TEST 01 # InsIDe Success Callback');	}, function(err){		console_log('---');		console_log('# TEST 01 # InsIDe Error Callback');		console_log(err);	});	//---	navigator.mediaDevices.getUserMedia(constraints).then(function(stream) {		console_log('---');		console_log('# TEST 02 # InsIDe Success Callback');	}).catch(function(err) {		console_log('---');		console_log('# TEST 02 # InsIDe Error Callback');		console_log(err);	});});
body {	Font-family: arial;	Font-size: 14px;}.console {	Font-family: monospace;	white-space: pre;}
<script src="https://AJAX.GoogleAPIs.com/AJAX/libs/jquery/2.1.1/jquery.min.Js"></script><div ></div>

以防万一,这里有Jsfiddle链接:

https://jsfiddle.net/2yum1a0w

要获得成功,请使用桌面/ Chrome打开并转到以下部分:结果…

https://jsfiddle.net/2yum1a0w/embedded

在桌面/ Chrome上我得到:

navigator.mediaDevices...[object MediaDevices]---# TEST 01 # InsIDe Success Callback---# TEST 02 # InsIDe Success Callback

在AndroID / Chrome上我得到:

navigator.mediaDevices...[object MediaDevices]---# TEST 01 # InsIDe Error CallbackNotAllowedError: Permission denIEd---# TEST 02 # InsIDe Error CallbackNotAllowedError: Permission denIEd

顺便说一句,在桌面/ firefox上我得到:

navigator.mediaDevices...[object MediaDevices]

以及以下控制台错误:

TypeError: navigator.getUserMedia is not a function

您对如何在AndroID / Chrome上运行这项工作有任何想法吗?

编辑1

基于以下Joseph Gordy的回答,我试过:

https://jsfiddle.net/wrmvn8k4/

https://jsfiddle.net/wrmvn8k4/embedded

现在可以在桌面/ firefox上正常工作:

navigator.mediaDevices...[object MediaDevices]---# TEST # InsIDe Success Callback

但在AndroID / Chrome上我得到:

navigator.mediaDevices...[object MediaDevices]---# TEST # InsIDe Error CallbackNotAllowedError: Permission denIEd

谢谢!

解决方法:

我遇到了同样的问题.移动浏览器甚至没有询问权限.
原因是SSL!您必须使用安全连接

检查“需要安全上下文”部分here

总结

以上是内存溢出为你收集整理的javascript – navigator.getUserMedia无法在Android / Chrome上运行全部内容,希望文章能够帮你解决javascript – navigator.getUserMedia无法在Android / Chrome上运行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1108991.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存