【发布时间】:2015-04-19 00:45:13
【问题描述】:
我在尝试在 Android 版 Chrome 中录制和播放视频时遇到了一个不寻常的问题。 (相同的代码在桌面版 Chrome 上运行良好)。
首先,一些信息:
- Android 4.4.2
- Chrome for Android 40.0.2214.89
- 适用于桌面版 Chrome 40.0.2214.94 m
- 将 blob 存储到本地文件后,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 for Android 上运行? 希望可以有人帮帮我。 谢谢大家!
【问题讨论】:
-
你最终解决了吗?
-
@Shay:不幸的是,我还没有找到任何解决方案。我想,出于某种原因,Chrome 无法访问他在文件系统上的临时文件。
-
太可惜了,所以没有在Android上运行本地视频的解决方案?这毁了一切。 :)
标签: javascript android google-chrome video