【发布时间】:2017-03-17 03:43:18
【问题描述】:
我尝试使用 cordova + crosswalk 显示来自手机摄像头的视频,并且可以从 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);
}
);
});
【问题讨论】:
标签: cordova html5-video getusermedia crosswalk