47 lines
1.0 KiB
Swift
47 lines
1.0 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)?
|
|
|
|
|
|
}
|