林測試一些媒體與離子和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