javascript - Camera js Web App无法获取相机供稿
问题描述
我正在开发一个将用户的网络摄像头传回给他们的网站。我的浏览器显示一个图标,表明该网站正在使用我的相机,但我的网站上没有提要。使用的包:https ://franticbomb.github.io/Camera-Web-App/
这里只是js部分
(function() {
var video = document.getElementById("video"),
vendorUrl = window.URL || window.webkitURL;
navigator.getMedia =
navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia;
// Capture video
navigator.getMedia(
{
video: true,
audio: false
},
function(stream) {
video.src = vendorUrl.createObjectURL(stream);
video.play();
},
function(error) {
// An error occured
// error.code
}
);
})();
我希望将相机反馈显示给用户。
解决方案
你的代码完全过时了......
首先,navigator.getUserMedia
已弃用基于 Promise 的navigator.mediaDevices.getUserMedia
.
所以你的第一部分应该看起来像
navigator.mediaDevices.getUserMedia({
video: true,
audio: false
}).then(function(stream) {
...
但这并不是阻止您的脚本工作的原因。
如果您确实打开了浏览器的网络控制台,您可能会发现一条类似以下内容的消息
无法在“URL”上执行“createObjectURL”:找不到与提供的签名匹配的函数。
那是因为我们不能再从 MediaStreams 创建 blob-URL。相反,您应该使用HTMLMediaElement的srcObject
属性:
navigator.mediaDevices.getUserMedia({
video: true,
audio: false
}).then(function(stream) {
video.srcObject = stream;
return video.play();
});
推荐阅读
- nativescript -
工作正常但会导致问题 - python - 从 XLS 文件数据更新 json 文件
- java - 在 Java 中将 Long 与 Double 相除会产生错误的结果
- javascript - 根据用户交互显示数据库列表
- c# - 神经网络周期性成本值变化
- internationalization - 在 aiohttp 中翻译
- javascript - 如何在 amCharts4 上禁用值轴(Yaxis)上的光标值
- c# - 如何在使用 C# 无法检测到 json 中的项目时显示警告
- reactjs - componentDidMount 中存在我无法解决的语法错误
- c++ - 可以 std::list
转换为 std::list 在 C++ 中