Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在phoneGap中的android后台视频捕获,最小化录制屏幕_Javascript_Cordova_Jquery Mobile_Video Capture - Fatal编程技术网

Javascript 在phoneGap中的android后台视频捕获,最小化录制屏幕

Javascript 在phoneGap中的android后台视频捕获,最小化录制屏幕,javascript,cordova,jquery-mobile,video-capture,Javascript,Cordova,Jquery Mobile,Video Capture,我尝试了以下代码。我想在后台录制视频并存储在SD卡中。我不想手动开始录制和停止。是否可以在PhoneGap中录制带或不带API的视频。 我想在后台录制视频 <html> <head> <title>Capture Video</title> <script type="text/javascript" charset="utf-8" src="js/cordova.js"></script> <script type=

我尝试了以下代码。我想在后台录制视频并存储在SD卡中。我不想手动开始录制和停止。是否可以在PhoneGap中录制带或不带API的视频。 我想在后台录制视频

<html>
<head>
<title>Capture Video</title>
<script type="text/javascript" charset="utf-8" src="js/cordova.js"></script>
<script type="text/javascript" charset="utf-8" src="js/json2.js"></script>
<script type="text/javascript" charset="utf-8">
    // A button will call this function
    function captureVideo() {
        // Launch device video recording application, 
        // allowing user to capture up to 3 video clips
        alert("captureVideo");
        var options = {
            limit : 2,
            duration : 10
        };
        navigator.device.capture.captureVideo(captureSuccess, captureError,
                options);
    }
    // Called when capture operation is finished
    function captureSuccess(
    mediaFiles) {
        alert("captureSuccess   ");
        var i, len;
        alert(mediaFiles.length);
        for (i = 0, len = mediaFiles.length; i < len; i += 1) {
            uploadFile(mediaFiles[i]);
        }
    }
    // Called if something bad happens.
    function captureError(error) {
        var msg = 'An error occurred during capture: ' + error.code;
        navigator.notification.alert(msg, null, 'Uh oh!');

    }
    // Upload files to server
    function uploadFile(mediaFile) {
        alert("uploadFile");
        var ft = new FileTransfer(), path = mediaFile.fullPath, name = mediaFile.name;
        alert("path:" + path);
        alert("name:" + name);
        ft.upload(path, "http://my.domain.com/upload.php", function(result) {
            console.log('Upload success: ' + result.responseCode);
            console.log(result.bytesSent + ' bytes sent');
        }, function(error) {
            console.log('Error uploading file ' + path + ': ' + error.code);
        }, {
            fileName : name
        });
    }
</script>
</head>
<body>
    <button onclick="captureVideo();">Capture Video</button>
    <br>
</body>
</html>

捕获视频
//一个按钮将调用此函数
函数captureVideo(){
//启动设备视频录制应用程序,
//允许用户捕获最多3个视频剪辑
警报(“捕获视频”);
变量选项={
限额:2,
持续时间:10
};
navigator.device.capture.captureVideo(captureSuccess、captureError、,
选择权);
}
//捕获操作完成时调用
函数捕获成功(
媒体文件){
警惕(“捕获成功”);
变量i,len;
警报(mediaFiles.length);
对于(i=0,len=mediaFiles.length;i

文档。添加了EventListener(“deviceready”,此处开始,false)

function start_here(){captureVideo();}

启动任何应用程序并自动录制视频时,都会调用此函数。
再次发送后开始录制…

    function uploadFile(mediaFile) {
           alert("uploadFile");
            var ft = new FileTransfer(), path = mediaFile.fullPath, name = mediaFile.name;
            alert("path:" + path);
            alert("name:" + name);
            ft.upload(path, "http://my.domain.com/upload.php", function(result) {
                console.log('Upload success: ' + result.responseCode);
                console.log(result.bytesSent + ' bytes sent');
            }, function(error) {
                console.log('Error uploading file ' + path + ': ' + error.code);
            }, {
                fileName : name
            });
start_here;   /*just call the instance. here is the change*/       
}

现在,您可以使用最小化的应用程序录制视频,甚至在屏幕关闭时也可以

这是一个分支,但主回购协议不能“在后台”录制视频(不管名称如何)

当它启动时,它会根据SD和内部磁盘上可用空间的大小自动选择存储视频的位置

cordova plugin add cordova-backgroundvideo

var fileName = new Date().getTime() + '';
cordova.plugins.backgroundvideo.start(fileName, 'back', true, null, null);

cordova.plugins.backgroundvideo.stop(function (filePath) {
    alert(filePath);
  }, function (error) {
    alert('Error ' + JSON.stringify(error));
  }
);

您可以使用此
文档在后台执行任务。addEventListener(“暂停”,captureVideo,false)但视频不是自动捕获的,您需要手动启动。我认为操作系统甚至不会允许您这样做,除非出于安全考虑您具有root访问权限/权限。您要求的是能够在用户不知情的情况下录制、捕获和上载视频。您是否演示了如何使用此文档在后台录制视频。addEventListener(“暂停”,captureVideo,false);