VideoTrimmerControl 1.0.1

VideoTrimmerControl 1.0.1

AndreasVerhoeven 维护。




VideoTrimmerControl

一个支持剪辑和拖动控制的 iOS 视频控制器

这个 iOS 视频控制器允许用户通过拖动两侧的手柄来定义如何剪切视频。当用户正在剪切时,暂停片刻可放大时间线以实现更高的精度。时间线显示基于 AVAsset 的视频帧缩略图。除了剪切外,该控制还可以选择性地允许用户通过点击时间线来拖动视频。

屏幕截图

非交互时的控件

VideoTrimmer Screenshot when not interacting

用户剪切前后端部分时的控件

VideoTrimmer Screenshot when trimmed

用户剪切前端部分时的控件

VideoTrimmer Screenshot when trimming the leading part

用户放大时间线时的控件

VideoTrimmer Screenshot when zoomed in on the timeline

控件动作的动画 GIF

Animated GIF of the control in action

配置

  • asset:用于缩略图的资产。设置此参数将自动更新范围和选择范围属性
  • videoComposition:使用 AVVideoComposition(参见 AVFoundation)
  • minimumDuration:视频的最短持续时间。用户不能剪辑短于此值的片段。
  • range:要使用的资源的范围。
  • selectedRange:用户选择的范围。如果没有进行剪辑,等于范围。
  • progressIndicatorMode:定义进度指示器的显示方式 hiddenOnlyWhenTrimmingalwaysShownalwaysHidden
  • progress:影片的进度(例如,播放时的当前位置)
  • horizontalInset:时间轴和缩略图开始处从边界的缩进。默认值为 16。(允许缩放时进行溢出)
  • trackBackgroundColor:时间轴轨道的背景颜色
  • thumbRestColor:时间轴上没有视频但缩略图暂停时的背景颜色

状态属性

  • trimmingState:如果用户未进行剪辑则为 none,如果他们从前面进行剪辑则为 leading,如果他们从末尾进行剪辑则为 trailing
  • isZoomedIn:如果用户在剪辑时缩放了时间轴则为 true
  • isScrubbing:如果用户正在 scrubbing 则为 true
  • visibleRange:当前显示的范围。在缩放时可能与范围不同
  • selectedTime:剪辑时当前选择的时间

手势识别器

您可以为以下手势识别器配置,例如要失败的 UITableView 的 panGestureRecognizer:

  • leadingGestureRecognizer
  • trailingGestureRecognizer
  • progressGestureRecognizer
  • thumbnailInteractionGestureRecognizer

事件

  • VideoTrimmer.didBeginTrimming:当用户开始剪辑时触发
  • VideoTrimmer.didEndTrimming:当用户停止剪辑时触发
  • VideoTrimmer.selectedRangeChanged:当 selectedRange 属性因用户剪辑而更改时触发
  • didBeginScrubbing:当用户开始通过视频 scrubbing 时触发
  • didEndScrubbing:当用户结束 scrubbing 时触发
  • progressChanged:当 progress 属性因用户 scrubbing 而更改时触发