2012-04-18 45 views
6

我想将视频捕获限制为30秒。到目前为止,PhoneGap文档说明了以下iOS实现:PhoneGap/Cordova iOS:捕获持续时间限制(即30秒)的视频

“持续时间参数不受支持,录制长度不能通过编程方式进行限制。

我发现这个职位,这似乎给出了一个纯粹的客观C实现的解决方案:

iPhone: 5 seconds video capture

的问题是:这个东西可以“轻松地”被制作成的PhoneGap插件或者是否还有其他一些原因phonegap未能实现这一点?如果你认为这是可以做到的 - 任何信息指向我在正确的方向非常感谢!谢谢:)

+1

我需要同样的事情。它最终将成为本地和HTML5/PhoneGap的区别。他们的文档(http://docs.phonegap.com/en/1.0.0/phonegap_media_capture_capture.md.html#CaptureVideoOptions)也是HILARIOUS。他们显示3个参数,对于iOS无支持:s – SomethingOn 2012-08-03 19:05:30

回答

4

我试图解决同样的问题,可能有一个解决方案:

capture.captureVideo()函数返回MediaFile对象的数组。这些对象有MediaFile.getFormatData()方法,告诉您该文件的持续时间是什么,所以你可以拒绝如果过长的文件...

这里是我的解决方案:

navigator.device.capture.captureVideo(function(mediaFiles) { 

       mediaFiles[0].getFormatData(function(data) { 

        if(data.duration > 30) { 
         /* Tell the user the video is too long */ 
        } else { 
         /* Video is less than the max duration...all good */ 
        } 
       }); 

     }, function(error) { /* An error occured */ }, 
null); 
+0

如果持续时间大于我们的限制,任何停止视频的解决方案? – 2013-11-12 18:43:46

+0

根据PhoneGap 3.1文档,只有“限制”参数不受支持,所以也许持续时间参数现在可以工作:http://docs.phonegap.com/en/3.1.0/cordova_media_capture_capture.md.html#CaptureVideoOptions – SomethingOn 2013-11-12 19:32:28

+0

This用于工作 - 现在data.duration始终为0 – 2016-04-11 09:33:07