У меня возникла необычная проблема при попытке записи и воспроизведения видео в Chrome для Android. (Тот же код отлично работает на Chrome for Desktop).Невозможно воспроизвести blob-url видео с помощью Chrome для Android.
Прежде всего, некоторые сведения:
- Android 4.4.2
- Chrome для Android 40.0.2214.89
- Он работает на Chrome для рабочего стола 40.0.2214.94 м
- После сохранения блоб на локальный файл, он правильно воспроизводится приложением mediaplayer-app.
- Обязательный RecordRTC.js
Моя цель состоит в том, что для записи видео с камеры планшета и чем воспроизведения записанного видео. Вот пример кода:
<!DOCTYPE html>
<html>
<head>
<title>Camera Test</title>
<script type="text/javascript" src="//cdn.WebRTC-Experiment.com/RecordRTC.js"></script>
</head>
<body>
<script>
var cameraStream;
var cameraEl;
var cameraRecorder;
var cameraBlobURL;
window.URL = window.URL || window.webkitURL;
navigator.getUserMedia = ( navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia);
function askForCamera(){
navigator.getUserMedia(
{
video : true
},
function(stream) {
cameraStream = stream;
cameraEl = document.getElementById("vidCamera");
cameraEl.src = window.URL.createObjectURL(stream);
},
function(){
alert('fail camera');
}
);
}
function playCamera(){
cameraEl.play();
}
function startRec(){
cameraRecorder = RecordRTC(
cameraStream,
{
type: 'video',
disableLogs : true
}
);
cameraRecorder.startRecording();
}
function stopRec(){
cameraRecorder.stopRecording(function(blobURL){
cameraBlobURL = blobURL;
console.log(cameraBlobURL);
alert(cameraRecorder.getBlob().type + ' ' +cameraRecorder.getBlob().size);
});
}
function setBlob(){
cameraEl.src = cameraBlobURL;
}
</script>
<p>Buttons:</p>
<button type="button" onclick="askForCamera()">Ask for camera</button>
<button type="button" onclick="playCamera()">Play camera</button>
<button type="button" onclick="startRec()">Start Rec</button>
<button type="button" onclick="stopRec()">Stop Rec</button>
<button type="button" onclick="setBlob()">Set blob to camera</button>
<button type="button" onclick="playCamera()">Play camera</button>
<br/>
<p>Camera:</p>
<video id="vidCamera" width="200" height="200">
</video>
</body>
</html>
Как я должен действовать, чтобы убедиться, что он работает на Chrome для Android? Надеюсь, кто-то может мне помочь. Спасибо всем!
Никто не может помочь? – ExDev
Вам удалось в конце концов разобраться? – Shay
@Shay: К сожалению, я пока не нашел решения. По какой-то причине я полагаю, что Chrome не может получить доступ к своим временным файлам в файловой системе. – ExDev