林测试一些媒体与离子和IM功能,同时试图使用使用此代码getUserMedia来设置相机输出到视频标签卡:使用getUserMedia与离子只能得到黑屏
navigator.getUserMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia;
if (navigator.getUserMedia) {
navigator.getUserMedia({ audio: false, video: { width: 500, height: 500 } },
function(stream) {
console.log("Im streaming!!", stream);
var video = document.querySelector('video');
console.log("video element", video);
video.src = window.URL.createObjectURL(stream);
video.onloadedmetadata = function(e) {
console.log("stream start");
video.play();
};
},
function(err) {
console.log("The following error occurred: " + err.name);
}
);
} else {
console.log("getUserMedia not supported");
}
这是HTML:
<ion-pane>
<ion-header-bar class="bar-stable">
<h1 class="title">Ionic Blank Starter</h1>
</ion-header-bar>
<ion-content>
<video id="video" autoplay="autoplay" width="500" height="500"></video>
</ion-content>
</ion-pane>
我实际上只能得到一个黑屏。我的方法是正确的还是缺少一些东西?
你试图删除'video.onloadedmetadata'并直接调用'video.play()'? – Akis
我可以在控制台中看到“流式启动”,所以我认为video.play()被正确调用 – Vanojx1
您可以检查您是否在Android清单文件'<使用权限android:name =“中有正确的权限android.permission .RECORD_AUDIO“/> <使用权限android:name =”android.permission.CAMERA“/>' – Akis