MoviaBox/Thimra/Class/Player/Model/SPSpeedModel.swift
2025-04-21 14:30:28 +08:00

84 lines
1.6 KiB
Swift

//
// SPSpeedModel.swift
// Thimra
//
// Created by on 2025/4/10.
//
import UIKit
class SPSpeedModel: NSObject {
enum Speed: String {
case x0_5 = "0.5x"
case x1 = "1.0x"
case x1_25 = "1.25x"
case x1_5 = "1.5x"
case x1_75 = "1.75x"
case x2 = "2.0x"
func getRate() -> Float {
switch self {
case .x0_5:
return 0.5
case .x1:
return 1
case .x1_25:
return 1.25
case .x1_5:
return 1.5
case .x1_75:
return 1.75
case .x2:
return 2
}
}
}
static func getAllSpeed() -> [SPSpeedModel] {
return [
SPSpeedModel(speed: .x0_5),
SPSpeedModel(speed: .x1),
SPSpeedModel(speed: .x1_25),
SPSpeedModel(speed: .x1_5),
SPSpeedModel(speed: .x1_75),
SPSpeedModel(speed: .x2)
]
}
var speed: Speed = .x1
init(speed: Speed) {
super.init()
self.speed = speed
}
func getRate() -> Float {
return speed.getRate()
}
func formatString() -> String {
switch speed {
case .x0_5:
return "0.5x"
case .x1:
return "1.0x"
case .x1_25:
return "1.25x"
case .x1_5:
return "1.5x"
case .x1_75:
return "1.75x"
case .x2:
return "2.0x"
}
}
}