// // SPPlayerListViewModel.swift // Thimra // // Created by 曾觉新 on 2025/4/9. // import UIKit class SPPlayerListViewModel: NSObject { @objc dynamic var isPlaying: Bool = true private var _currentPlayer: SPPlayerProtocol? var currentPlayer: SPPlayerProtocol? { set { _currentPlayer?.isCurrent = false _currentPlayer?.pause() _currentPlayer = newValue _currentPlayer?.playerFinishHadle = { [weak self] in self?.handlePlayFinish?() } _currentPlayer?.isCurrent = true _currentPlayer?.rate = speedModel.getRate() } get { return _currentPlayer } } @objc dynamic private(set) lazy var speedModel = SPSpeedModel(speed: .x1) ///设置倍速播放 func setSpeedPlay(speedModel: SPSpeedModel) { self.speedModel = speedModel currentPlayer?.rate = speedModel.getRate() } ///设置进度 func seekToTime(toTime: Int) { self.currentPlayer?.seekToTime(toTime: toTime) } ///点暂停或播放 var handlePauseOrPlay: (() -> Void)? ///播放完成 var handlePlayFinish: (() -> Void)? ///选集 var handleEpisode: (() -> Void)? }