Android Phonegap录制视频最长15秒

Android Phonegap录制视频最长15秒,android,ios,video,cordova,Android,Ios,Video,Cordova,我正在创建一个应用程序,其中用户必须录制不超过15秒的视频。如何在phonegap中捕获视频时检查持续时间。用户录制视频的时间不应超过15秒 我不想使用下面的代码 navigator.device.capture.captureVideo(function(mediaFiles) { mediaFiles[0].getFormatData(function(data) { if(data.duration > 15) {

我正在创建一个应用程序,其中用户必须录制不超过15秒的视频。如何在phonegap中捕获视频时检查持续时间。用户录制视频的时间不应超过15秒

我不想使用下面的代码

navigator.device.capture.captureVideo(function(mediaFiles) {
            mediaFiles[0].getFormatData(function(data) {
                if(data.duration > 15) {
                    alert('Your video is longer than the allowed 30 seconds.');
                }
            });
    }, function(error) { alert('An error occured'); }, null);
这将检查捕获视频后的持续时间。
一旦用户达到15秒的限制,是否可以停止录制视频。

在科尔多瓦,有许多选项可以处理此问题

所以你需要一套

navigator.device.capture.captureVideo(captureVideoSuccess, captureErrorVideo, { 
            destinationType: destinationType.FILE_URL,duration:15});
持续时间(以秒为单位)…当摄像机达到15秒的视频时,它会自动关闭并呼叫captureVideoSuccess。现在你把你的逻辑写在这里


这是很久以前发布的,但我会回答这个问题,因为我有类似的问题,但与音频。你可以在Android上做的是用停止录制的函数设置超时。 以下是我在10秒后超时录音的代码:

var src = "tmprecording.amr";
        mediaRec = new Media(src, function() { // success
            console.log("recordAudio():Audio Success");
        }, function(err) { //error
            console.log("recordAudio():Audio Error: "+ err.code);
        });
//Record audio
mediaRec.startRecord();
timeout = setTimeout(function(){
        //Here's your recording stop
        mediaRec.stopRecord();
        mediaRec.release();
        mediaRec = null;
    }, 10000);

这有帮助吗?

不支持持续时间参数。不能以编程方式限制录制长度。写在您发送的链接上。录制长度不能以编程方式限制您是对的。。。。但持续时间是视频长度的最大大小。因此,它在所有安卓设备上都能完美地工作。iOS不支持这一功能,所以任何关于让它在iOS上工作的想法都没有。目前我收到错误代码3不幸的是画廊已经停止在android上。我也与ios和安卓男子工作。。。这对我来说很好…你的cordova版本?当前的3.4.0我还没有在ios上测试过。知道我为什么在android上出错吗?是的,我也尝试过设置超时功能,但在少数设备上代码工作正常。但是很少有设备它甚至不工作。!所以这是主要问题。。不管怎样,谢谢你的回答。你说的“很少”是什么意思?很少有效,很少无效,你能说得更具体一点吗?我在测试galaxy grand 2,每次都有效。但在galaxy nexus、micromax和sony xperia上,它偶尔会起作用。主要原因是它在进程中被卡住了,应用程序因此重新启动。你是否在不需要时释放了你的媒体/将其设置为空/销毁?甚至在这样做之前,它就被卡住了。很难用文字来解释。