我想在浏览器中录制视频,然后为用户播放。我目前正在使用MediaRecorder API(目前仅在Firefox中可用)来执行此操作。它适用于短于几秒的视频,但视频根本不显示。
控制台或类似设备中没有错误,我在documentation中找不到任何有关文件大小限制的内容。
这是我正在使用的代码(仅限Firefox):
的index.html:
<!DOCTYPE html>
<html>
<body>
<button id="start">Start</button>
<button id="stop">Stop</button>
<video id="player" src="" width="300" height="300" autoplay></video>
<script src="script.js"></script>
</body>
</html>
的script.js:
var record = document.getElementById('start');
var stop = document.getElementById('stop');
var video = document.getElementById('player');
var constraints = {video: true};
var onSuccess = function(stream) {
var mediaRecorder = new MediaRecorder(stream);
record.onclick = function() {
mediaRecorder.start();
}
stop.onclick = function() {
mediaRecorder.stop();
}
mediaRecorder.ondataavailable = function(e) {
video.src = window.URL.createObjectURL(e.data);
}
};
var onError = function(err) {
console.log('The following error occured: ' + err);
}
navigator.mozGetUserMedia(constraints, onSuccess, onError);
在Codepen上:http://codepen.io/anon/pen/xGqKgE
这是错误/浏览器问题吗?我不知道这个API有任何限制吗?