PhoneGap/Cordova iOS:以持续时间限制(即 30 秒)捕获视频
Posted
技术标签:
【中文标题】PhoneGap/Cordova iOS:以持续时间限制(即 30 秒)捕获视频【英文标题】:PhoneGap/Cordova iOS: capture video with a duration limit (ie. 30 seconds) 【发布时间】:2012-04-18 15:54:54 【问题描述】:我想将视频拍摄时间限制为 30 秒。截至目前,PhoneGap 文档说明了以下 ios 实现:
“不支持持续时间参数。不能以编程方式限制录制长度。”
我确实发现这篇文章似乎为纯粹客观的 C 实现提供了解决方案:
iPhone: 5 seconds video capture
问题是:这是否可以“轻松”制作成 phonegap 插件,还是有其他原因 phonegap 无法实现此功能?如果您认为可以做到 - 任何为我指明正确方向的信息都非常感谢!谢谢:)
【问题讨论】:
我需要同样的东西......它最终将成为原生和 html5/PhoneGap 之间的区别。他们的文档 (docs.phonegap.com/en/1.0.0/…) 也很有趣。它们显示 3 个参数,对于 iOS,它们都不支持:s 【参考方案1】:我正在尝试解决同样的问题,可能有解决方案:
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);
【讨论】:
如果持续时间超过我们的限制,任何解决方案可以停止视频? 根据 PhoneGap 3.1 文档,仅“限制”参数不受支持,因此可能持续时间参数现在有效:docs.phonegap.com/en/3.1.0/… 这曾经可以工作 - 现在 data.duration 始终为 0以上是关于PhoneGap/Cordova iOS:以持续时间限制(即 30 秒)捕获视频的主要内容,如果未能解决你的问题,请参考以下文章
在 jquery mobile、phonegap/cordova 中添加一个活动指示器以显示应用程序何时忙碌
将使用相机拍摄的照片捕获并存储到本地数据库/PhoneGap/Cordova/iOS
PhoneGap/Cordova:如何使用 cookie (iOS)?