一旦用户从 iPhone 照片库中选择视频,是否有任何方法可以检查视频文件的持续时间?并限制用户选择该视频文件是否超过 60 秒
5 回答
imagePickerController.videoMaximumDuration = 60.0f;
// 将视频长度限制为 60 秒。
其中 imagePickerController 是 UIImagePickerController 的对象。
使用 videoMaximumDuration 方法,您可以从两种方式限制视频的长度。就像您正在录制视频一样,会弹出一条警报,说您无法录制超过 60 秒的视频,如果您从库中选择任何视频文件,首先它会检查您的视频长度(如果长度超过 60 秒)。再次警报会弹出说视频大于 60 秒,但会有两个选项,即使用或取消。如果您选择使用,那么它将从一开始就将视频的长度裁剪到 60 秒。
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 应用程序开发:为 AppStore 构建应用程序
您还可以通过该
duration
属性读取样本的持续时间(以秒为单位)。这也表示为NSTimeInterval
,它被输入为双浮点:NSTimeInterval duration = player.duration