- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 cordova + crosswalk 显示来 self 的手机摄像头的视频,并且可以从 getUserMedia() 获取视频流,但是当流显示在 html5 视频标签上时,它显示黑屏。
我已经为此苦苦挣扎了 2 周,但没有取得任何进展,请帮忙如何使视频显示正常工作?
下面是我获取视频流并显示它的代码
navigator.mediaDevices.enumerateDevices()
.then(function(devices) {
var sourceID = "";
var camera = [];
var currCameraIndex = 0;
var videoContraint = false;
devices.forEach(function(info) {
if (info.kind == "videoinput") {
camera.push(info.deviceId);
}
});
if(video){
videoContraint = {
mandatory: {},
optional: [{
sourceId: camera[currCameraIndex]
}]
};
}
navigator.getUserMedia({
audio: true,
video: videoContraint
},
function(stream) {
if(stream.active){
localVideo = document.getElementById("local-video");
localVideo.onloadedmetadata = function(e) {
localVideo.play();
};
} else {
alert('Failed to access your camera or microphone');
}
},
function(err) {
alert('Cannot access your camera or microphone:' + err);
}
);
});
最佳答案
我使用 getusermedia 来制作增强现实背景。我的黑屏和你一模一样,快把我逼疯了,所以也许我可以帮忙解决这个问题。我昨天刚帮我解决了。
首先,我必须通知您,我使用人行横道并且在运行我的项目时发现一些消息说“cordova.deviceready”无法运行,或类似的东西。我更新到最后一个 Cordova (6.5.0) 并删除并再次添加我想要的插件。我删除并添加了人行横道,奇迹般地修复了人行横道,并且正确调用了设备就绪事件。
其次,我使用 Onsen Ui,因为它非常棒!而且我不想在我的应用程序中使用不必要的东西,例如 Angular 之类的东西。对我来说只是一个更简单的应用程序(我在看着你,Ionic!!)。我开始在 ons.ready(function () {..})
现在,我找到了适合我的解决方案。在 platforms\android\res\xml\config.xml 添加以下行:
<feature name="Camera">
<param name="android-package" value="org.apache.cordova.camera.CameraLauncher" />
</feature>
在 platforms\android\AndroidManifest.xml 添加以下内容(由于某些原因它们不会自动添加):
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
android.permission.WRITE_EXTERNAL_STORAGE
可能会被添加,但对我来说其他行没有。当我添加它们时,一切正常!!
请注意一些事情。如果您在显示摄像头画面的 Html5 视频中设置自动播放,您会得到一个快速响应的视频,而不是一个滞后的视频。你知道吗?我没有。
希望对您有所帮助。
关于cordova - getUserMedia 出现黑屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42848843/
我们正在尝试制作视频 session 应用程序。在 Windows 上运行该应用程序进行测试时,视频打开得很好,但是当我们在物理设备(Android 手机)上运行它时,出现以下错误并且视频不显示。 E
我知道有几篇关于此的帖子,但我的问题不同。 在 Mozilla developer guide for getUserMedia 之后,我可以看到使用:navigator.getUserMedia()
我正在使用“facingMode”约束来在两个摄像头之间切换,但我不能完全确定用户端是否有一个“环境”摄像头(后置摄像头)。计算 enumerateDevices 函数返回的 promise 的“视频
这是我的问题。 我正在制作一个使用 JS-OCR 拍照并检测单词的小应用程序。它运作良好,但我只能使用前置摄像头。我的想法是只使用后置摄像头,没有必要切换摄像头。 我正在阅读 getUserMedia
我正在为相机和麦克风运行 getUserMedia, navigator.mediaDevices .getUserMedia({audio:true, video: true)
我在使用 getUserMedia 创建的预览视频时遇到问题。视频会连接,但只显示第一帧或第二帧,并在它们之间快速切换。使用 ImageCapture 时,我仍然可以获取相机所面对的画面,但预览窗口停
我有以下限制,这些限制在桌面上的 Chrome 上运行良好(模拟移动分辨率) const constraints = { audio: false, video: {
例如,假设我有 然后我开始流式传输视频: async function startVideo() { const video = document.querySelector("#video
我尝试使用 cordova + crosswalk 显示来 self 的手机摄像头的视频,并且可以从 getUserMedia() 获取视频流,但是当流显示在 html5 视频标签上时,它显示黑屏。
有什么方法可以使用HTML5的getUserMedia()从特定麦克风(而不是默认麦克风)获取音频输入? 最佳答案 恐怕您将需要使用getSources API,该API到目前为止还没有得到很好的支持
我正在使用getUserMedia api捕获屏幕并记录来自chrome扩展程序的音频(两者一起)。 api捕获屏幕,记录视频,但不捕获音频。 Chrome版本:55 没有捕获音频的任何原因。 API
我使用“前沿”HTML5/WebRTC API 编写了一个 Web 应用程序(请参阅下面的代码)。这适用于 Chrome v20(启用了 MediaStream 标志)和最新的 FF Nightly
我在网上找到了一些代码来访问我的网络摄像头。它访问网络摄像头,但不显示它所看到的内容。我知道这是正常的,因为文档中没有 html,但我想知道如何显示结果。我找到的代码是: var constraint
我正在尝试通过 webRTC 和 GetUserMedia 共享计算机的音频,但我不知道是否可以获取此流。 在 Linux 和 Firefox 上,当我请求具有以下约束的 GetUserMedia 时
我正在使用 getusermedia() 将网络摄像头用于在线应用程序。我使用的是罗技 C615 网络摄像头(即插即用),效果很好。 getusermedia() 将仅适用于即插即用网络摄像头,还是也
我无法在 Google Chrome (v21) 中显示视频流 代码 window.addEventListener('DOMContentLoaded', function() { n
如何在 javascript 中获取流对象的当前流时间? navigator.mediaDevices.getUserMedia(约束) .then(函数(流){ console.log("在此处获取
我一直在为我的下一个项目尝试使用 webRTC 创建视频聊天,但测试很困难。我有这个简单的代码来访问相机: navigator.getUserMedia = navigator.get
我正在使用 HTML 媒体捕获和 getUserMedia 方法。它不适用于 Chrome,我收到失败时的警报。 这是我使用的示例代码: if (navigator.getUserMedia) {
我知道 iOS 不支持 getUserMedia()。有没有办法绕过它,在 iOS 和 Android 移动浏览器上流式传输视频或从视频流中捕获图像? 最佳答案 我建议查看 Video 元素“srcO
我是一名优秀的程序员,十分优秀!