You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改AVPictureInPictureController的快进快退时间值?

修改AVPictureInPictureController快进快退步长为10秒

系统默认的PiP模式快进/快退步长是15秒,Apple目前没有提供直接修改该值的公开API,但可以通过拦截远程控制事件并手动执行自定义步长的seek操作来实现需求:

  1. 让视图控制器支持接收远程控制事件
    重写视图控制器的生命周期方法,完成远程控制事件的注册/注销,并确保控制器能成为第一响应者:

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        UIApplication.shared.beginReceivingRemoteControlEvents()
        becomeFirstResponder()
    }
    
    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        UIApplication.shared.endReceivingRemoteControlEvents()
        resignFirstResponder()
    }
    
    override var canBecomeFirstResponder: Bool {
        return true
    }
    
  2. 拦截并处理快进/快退事件
    重写remoteControlReceived(with:)方法,捕获系统的快进快退事件,替换为自定义的10秒步长seek操作:

    override func remoteControlReceived(with event: UIEvent?) {
        guard let event = event, event.type == .remoteControl else { return }
        guard let player = playerViewController?.player else { return }
        
        let customStep: TimeInterval = 10 // 自定义步长为10秒
        
        switch event.subtype {
        case .remoteControlEndSeekingForward:
            let targetTime = CMTimeGetSeconds(player.currentTime()) + customStep
            player.seek(to: CMTime(seconds: targetTime, preferredTimescale: 1))
        case .remoteControlEndSeekingBackward:
            let targetTime = max(CMTimeGetSeconds(player.currentTime()) - customStep, 0)
            player.seek(to: CMTime(seconds: targetTime, preferredTimescale: 1))
        default:
            super.remoteControlReceived(with: event)
        }
    }
    

注意事项

  • 确保你的AVPlayerViewController已开启PiP支持:playerViewController.allowsPictureInPicturePlayback = true
  • 如果需要处理长按按钮的连续快进/快退,可以监听.remoteControlBeginSeekingForward和.remoteControlBeginSeekingBackward事件,通过定时器持续调整播放位置

内容的提问来源于stack exchange,提问作者Yulia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 08:22:40