【发布时间】:2011-04-27 05:53:19
【问题描述】:
用户从 iPhone 照片库中选择视频后,是否有任何方法可以检查视频文件持续时间?并限制用户选择该视频文件是否超过 60 秒
【问题讨论】:
标签: iphone video uiimagepickercontroller duration
用户从 iPhone 照片库中选择视频后,是否有任何方法可以检查视频文件持续时间?并限制用户选择该视频文件是否超过 60 秒
【问题讨论】:
标签: iphone video uiimagepickercontroller duration
imagePickerController.videoMaximumDuration = 60.0f; // 将视频长度限制为 60 秒。
其中 imagePickerController 是 UIImagePickerController 的对象。
使用 videoMaximumDuration 方法,您可以从两种方式限制视频的长度。就像您正在录制视频一样,会弹出一条警报,说您无法录制超过 60 秒的视频,如果您从库中选择任何视频文件,首先它会检查您的视频长度(如果长度超过 60 秒)。将再次弹出警报说视频大于 60 秒,但会有两个选项,即使用或取消。如果您选择使用,那么它将从头开始裁剪视频长度长达 60 秒。
【讨论】:
videoQuality 设置为高,将videoMaximumDuration 设置为10 秒。我选择了一个 15 分钟长的视频,它可以毫无问题地选择它。
videoMaximumDuration 方法在达到 60 秒后立即提醒您
【讨论】:
无法使用UIImagePicker 过滤资产。但是,使用新的资产库框架,您可以相当轻松地创建自己的视频选择器,根据您的条件过滤视频。
为了在这方面取得良好的开端,这里有一个 github 存储库,它使用资产库框架重新创建了 UIImagePicker 功能:https://github.com/elc/ELCImagePickerController。您还需要查看 ALAssetsFilter 的文档以设置过滤条件。
这是一个演示控件的视频:http://vimeo.com/15666311
这是他的博客,他在其中谈到了控制:http://www.icodeblog.com/2010/10/07/cloning-uiimagepickercontroller-using-the-assets-library-framework/
干杯!
【讨论】:
self.durationLabel.text = [NSString stringWithFormat:"Duration: %f",(float) self.player.duration]
最终输出:
self.durationLabel.text = [NSString stringWithFormat:@"Running Time: %d min",(int) ceil(self.player.duration/60)];
【讨论】:
来自IPhone SDK Application Development: Building Applications for the AppStore
您还可以通过
duration属性读取样本的持续时间(以秒为单位)。这也表示为NSTimeInterval,它被输入为双浮点:NSTimeInterval duration = player.duration
【讨论】: