MoviaBox/ShortPlay/Class/Player/ViewModel/SPPlayerListViewModel.swift
2025-04-16 18:22:12 +08:00

48 lines
1.1 KiB
Swift

//
// SPPlayerListViewModel.swift
// ShortPlay
//
// 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
}
get {
return _currentPlayer
}
}
private(set) var speed: SPSpeedModel.Speed = .x1
///
func setSpeedPlay(speed: SPSpeedModel.Speed) {
self.speed = speed
currentPlayer?.rate = speed.getRate()
}
///
var handlePauseOrPlay: (() -> Void)?
///
var handlePlayFinish: (() -> Void)?
///
var handleEpisode: (() -> Void)?
}