【问题标题】:Mediarecorder.start() not working on Firefox for AndroidMediarecorder.start() 在 Firefox for Android 上不起作用
【发布时间】:2015-01-03 02:56:15
【问题描述】:

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

下面是代码sn-p,它显示了记录是如何完成的:

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 中设置缓存权限,但没有成功。请帮我解决这个问题。

提前非常感谢!

【问题讨论】:

  • 我猜想特定平台或设备根本不支持媒体记录器功能?如果我是你,我会尝试在不同的设备上使用不同版本的 android。

标签: javascript html firefox webrtc getusermedia


【解决方案1】:

谢谢。我找到了答案并分享给大家——目前 MediaRecorder API 不支持在 Firefox for Android 上进行视频录制。 我在 MDN 的支持页面上找到了它here

【讨论】:

    猜你喜欢
    • 2018-03-21
    • 2014-02-06
    • 2012-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多