iOS 使用范围 slider 修剪视频

标签 ios video slider

我正在使用范围 slider 来修剪正在运行的视频。但我无法将视频停止到特定时间。这是我正在使用的以下代码:

- (void)videoRange:(SAVideoRangeSlider *)videoRange didChangeLeftPosition:   (CGFloat)leftPosition rightPosition:(CGFloat)rightPosition
{
    self.startTime = leftPosition;
    self.stopTime = rightPosition;
    [self.movieController stop];

    MPMoviePlayerController *player = self.movieController;
    [player stop];
    [player setCurrentPlaybackTime:self.startTime];
    [player setEndPlaybackTime:self.stopTime];
    [player play];

}  

setCurrentPlaybackTime 有效,但“setEndPlaybackTime”无效。 请帮助我推进我的项目工作。 谢谢, 罗汉

最佳答案

我以前遇到过这个问题,并为此做了一个 swift 包

只需在您的 Xcode 中点击

文件 -> swift 包 -> 添加包 url

复制粘贴此网址https://github.com/madadoux/DUTrimVideoView

它有一个 View 模型,您可以创建自己的 View 模型,并将其传递给初始化器

示例

class ViewController: UIViewController,VideoTrimViewDelegate {
func rangeSliderValueChanged(trimView: DUTrimVideoView, rangeSlider: DURangeSlider) {
    
}

func add() {
    let url = URL(fileURLWithPath:  Bundle.main.path(forResource: "video", ofType: "mp4")!)
    let trimView = DUTrimVideoView(asset: AVAsset(url: url), frame: CGRect(x: 20, y: 200, width: self.view.frame.width-40, height: 100))
    trimView.delegate = self
    let rangeSlider = trimView.rangeSlider!
    rangeSlider.leftThumbImage = UIImage(named: "trim-right")
    rangeSlider.rightThumbImage = UIImage(named: "trim-left")
    rangeSlider.thumbWidth = 30
    rangeSlider.thumbHeight = 30
    
    self.view.addSubview(trimView)
    
}

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    
    let btn = UIButton(type: .infoLight, primaryAction: UIAction(handler: { (a) in
        self.view.subviews.filter({$0 is DUTrimVideoView }).first?.removeFromSuperview()
        
        self.add()
    }))
    btn.frame = CGRect(origin: .zero, size: CGSize(width: 50, height: 50))
    btn.center = self.view.center
    self.view.addSubview(btn)
}

}

希望能回答您的问题

关于iOS 使用范围 slider 修剪视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21304830/

相关文章:

ios - 如何像App Store一样设置通话时状态栏高度为20pt?

ios - UIImageView 滚动暂停一秒钟

video - 截断 H.264 数据的安全位置?

Magento 中的 jQuery

javascript - 对数 slider 返回 NaN

ios - AVAudioPlayer 无法使用 .pls shoutcast 文件?

iphone - 向上滚动时使 UIScrollView 中的 UIView 保持在顶部

javascript - Youtube API 嵌入突然停止运行

python - 如何用python中的图像制作电影

css - 使用 CSS 破解 slider div 位置? (Squarespace 模板 Forte)