Mediarecorder.start()无法在Firefox for Android上运行

时间:2015-01-03 02:56:15

标签: javascript html5 firefox webrtc getusermedia

我在编写网络应用时遇到了一个奇怪的问题。此Web应用程序的目的是每隔几秒从设备网络摄像头记录大约10秒的视频并将其上载到服务器。 Web应用程序使用MediaRecorder API指定here。我可以在桌面上使用firefox浏览器录制视频。但是,当我在Firefox Beta或Firefox for Android上运行我的Web应用程序时,Mediarecorder.state显示'录制',而我得到data.size = 0字节。

以下是显示录制完成方式的代码段:

timerId = setInterval(function () {

                    recorder.start(length);

                    console.log(recorder.state);

                    // console.log(timerId);

                    recorder.ondataavailable = function (event) {

                        if (recorder.state == 'recording' && navigator.onLine == true) {
                            //var blob = new window.Blob([event.data], {
                            //    type: 'video/mp4'
                            //});

                            var blob = new window.Blob([event.data]);

                            // use the created blob

                            console.log('data size: ' + blob.size);

                            counter++;

                            var formData = new FormData();
                            formData.append("blob", blob, "video" + counter);
                            formData.append("deviceid", deviceId);
                            formData.append("seqid", counter);

                            var request = new XMLHttpRequest();
                            request.onreadystatechange = function () {
                                if (request.readyState == 4 && request.status == 200) {
                                    console.log(request.responseText);
                                }
                            }
                            request.open("POST", "/Device/Upload3", true);
                            request.send(formData);

                            if (recorder != null)
                                recorder.stop();
                        }
                    };

                }, 30000);

我已尝试在about:config中设置缓存权限,但没有运气。请帮我解决这个问题。

非常感谢提前!

1 个答案:

答案 0 :(得分:0)

感谢。我找到答案并分享它,以便让每个人受益 - 目前MediaRecorder API不支持Firefox for Android上的视频录制。 Snapshot showing the current support for MediaRecorder on Mobile我在MDN here

的支持页面上找到了它