Android 4.2에서는 Chrome에서 xhr2 및 blob responseType을 사용하여 HTML5 비디오를 가져 오려고합니다. 이 코드는 Chrome, Firefox 바탕 화면 및 Firefox Android 4.2 (FF 바탕 화면, mp4 대신 webm 비디오 사용)에서 완벽하게 작동합니다.Chrome Android에서 BLOB 가져 오기
// Taking care of prefix
window.URL = window.URL || window.webkitURL;
// This function download the video
var loadVideo = function() {
var xhr = new XMLHttpRequest();
xhr.addEventListener('load', addVideoFile, false);
xhr.open('GET', "videos/myvideo.mp4" , true);
xhr.responseType = 'blob';
xhr.send();
};
// this function sets the video source
var addVideoFile = function() {
if(4 == this.readyState && 200 == this.status) {
var video = document.getElementById('vid'),
blob = this.response;
video.src = window.URL.createObjectURL(blob);
console.log('video ready');
}
};
loadVideo();
Android에서 Chrome과 호환되지 않는 이유는 누구에게 설명 할 수 있습니까? 원격 디버깅을 사용하기 위해 휴대 전화를 연결하면 콘솔에 '비디오 준비'가 표시되어 비디오를 다운로드했지만 재생할 수 없음을 알리며 비디오는 검은 색 화면입니다.
또한 비디오 대신 이미지를 가져 오는 데이 코드를 사용하면이 코드가 작동합니다. 특정 크기 이상에서 Blob을 다운로드하지 못하게하는 제한이 있습니까? 내 비디오는 1.5 MB입니다.
대단히 감사합니다.
시간을내어 주셔서 감사합니다. – JuCachalot