【问题标题】:While using iphone PhotoLibrary, Restrict user to select any video file more than duration of 60secs?使用 iphone PhotoLibrary 时,限制用户选择任何超过 60 秒的视频文件?
【发布时间】:2011-04-27 05:53:19
【问题描述】:

用户从 iPhone 照片库中选择视频后,是否有任何方法可以检查视频文件持续时间?并限制用户选择该视频文件是否超过 60 秒

【问题讨论】:

    标签: iphone video uiimagepickercontroller duration


    【解决方案1】:

    imagePickerController.videoMaximumDuration = 60.0f; // 将视频长度限制为 60 秒。

    其中 imagePickerController 是 UIImagePickerController 的对象。

    使用 videoMaximumDuration 方法,您可以从两种方式限制视频的长度。就像您正在录制视频一样,会弹出一条警报,说您无法录制超过 60 秒的视频,如果您从库中选择任何视频文件,首先它会检查您的视频长度(如果长度超过 60 秒)。将再次弹出警报说视频大于 60 秒,但会有两个选项,即使用或取消。如果您选择使用,那么它将从头开始裁剪视频长度长达 60 秒。

    【讨论】:

    • 限制可以选择的视频的长度。它限制了可以录制的视频长度。
    • @harkonian:我已经测试过这个功能。因此,基本上,如果您正在录制视频,它会做什么,那么已经测试过的视频不会超过 60 秒。如果您从 iphone 库中获取任何大长度的视频,则会弹出一个警报,提示该视频大于 60 秒。如果您再次选择使用而不是取消,则它将视频长度裁剪为 60 秒。这部分也经过测试。
    • 您确定弹出的picking视频长度超过 60 秒不是您在某处的自定义代码,还是您正在收听特定的 UIImagePickerController 通知?我组装了一个新的测试工具并将videoQuality 设置为高,将videoMaximumDuration 设置为10 秒。我选择了一个 15 分钟长的视频,它可以毫无问题地选择它。
    【解决方案2】:

    videoMaximumDuration 方法在达到 60 秒后立即提醒您

    【讨论】:

      【解决方案3】:

      无法使用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/

      干杯!

      【讨论】:

        【解决方案4】:
        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)];
        

        【讨论】:

          【解决方案5】:

          来自IPhone SDK Application Development: Building Applications for the AppStore

          您还可以通过duration 属性读取样本的持续时间(以秒为单位)。这也表示为 NSTimeInterval,它被输入为双浮点:

          NSTimeInterval duration = player.duration
          

          【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-11-11
          • 1970-01-01
          相关资源
          最近更新 更多