var video = document.querySelector("video");
var constraints = {audio: false, video: true};
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
function successCallback(stream)
{
window.stream = stream; // stream available to console
if (window.URL)
{
video.src = window.URL.createObjectURL(stream);
} else
{
video.src = stream;
}
}
function errorCallback(error)
{
console.log("navigator.getUserMedia error: ", error);
}
navigator.getUserMedia(constraints, successCallback, errorCallback);嗨,我正在编写getUserMedia的webrtc示例代码,并得到一个错误:Uncaught :无法设置空的属性'src‘
我查看了检查元素,发现
video.src被证明为“空”
window.URL.createObjectURL(stream)确实有"blob:http%3A//danielle/738c6a8e-c887-4bd2-8b3d-3e3a18e6ac1f“的价值
我也能在“流”对象中看到一个对象。
我不知道它为什么不把这个值传递给video.src
有谁能从密码中看出原因吗?
我从http://googlechrome.github.io/webrtc/samples/web/content/getusermedia/得到了这段代码
实际上,我从那个链接中复制了完全相同的代码。
这是我的HTML代码
<html>
<head>
<base target="_blank">
<title>getUserMedia</title>
<link rel="stylesheet" href="main.css">
<script src="main.js"></script>
</head>
<body>
<div id="container">
<video controls style="border: 1px solid rgb(14, 168, 234); width: 90%;"></video>
</div>
</body>
</html>发布于 2014-07-15 12:58:27
两件事
下面是我建议的一些有用的修改:
<html>
<head>
<base target="_blank">
<title>getUserMedia</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<div id="container">
<video controls style="border: 1px solid rgb(14, 168, 234); width: 90%;" autoplay></video>
</div>
<script src="main.js"></script>
</body>
</html>发布于 2019-12-17 18:46:07
Google阻止http中的视频和音频设备访问,因此确保您使用的是https协议,然后您将使navigator.getUserMedia()工作。
发布于 2014-07-14 13:52:16
我确信您在html代码中缺少了一个视频标记,添加如下一行
<video controls style="border: 1px solid rgb(14, 168, 234); width: 90%;"></video>你的HTML代码。您还可以阅读https://developer.mozilla.org/en-US/docs/Web/API/document.querySelector#Notes
编辑:
如果您不想使用jquery ($(文档).ready()),请用以下代码包装您的javascript代码
document.addEventListener("DOMContentLoaded", function() {
/*your js code here*/
});您将获得空错误,因为您在加载DOM之前正在查询视频标记,因此元素不存在。
https://stackoverflow.com/questions/24731913
复制相似问题