mirror of
https://github.com/cranci1/Sora.git
synced 2026-03-11 17:45:37 +00:00
fixed the playback speed remeber stuff
This commit is contained in:
parent
76e1d8ddce
commit
c7a35b11a5
3 changed files with 11 additions and 3 deletions
|
|
@ -83,6 +83,7 @@ struct CustomMediaPlayer: View {
|
|||
}
|
||||
}
|
||||
startUpdatingCurrentTime()
|
||||
setInitialPlayerRate()
|
||||
addPeriodicTimeObserver(fullURL: fullUrl)
|
||||
}
|
||||
.edgesIgnoringSafeArea(.all)
|
||||
|
|
@ -229,6 +230,7 @@ struct CustomMediaPlayer: View {
|
|||
startUpdatingCurrentTime()
|
||||
}
|
||||
.onDisappear {
|
||||
UserDefaults.standard.set(player.rate, forKey: "lastPlaybackSpeed")
|
||||
player.pause()
|
||||
inactivityTimer?.invalidate()
|
||||
if let timeObserverToken = timeObserverToken {
|
||||
|
|
@ -265,6 +267,13 @@ struct CustomMediaPlayer: View {
|
|||
}
|
||||
}
|
||||
|
||||
private func setInitialPlayerRate() {
|
||||
if UserDefaults.standard.bool(forKey: "rememberPlaySpeed") {
|
||||
let lastPlayedSpeed = UserDefaults.standard.float(forKey: "lastPlaybackSpeed")
|
||||
player.rate = lastPlayedSpeed > 0 ? lastPlayedSpeed : 1.0
|
||||
}
|
||||
}
|
||||
|
||||
private func addPeriodicTimeObserver(fullURL: String) {
|
||||
let interval = CMTime(seconds: 1.0, preferredTimescale: CMTimeScale(NSEC_PER_SEC))
|
||||
timeObserverToken = player.addPeriodicTimeObserver(forInterval: interval, queue: .main) { time in
|
||||
|
|
|
|||
|
|
@ -75,7 +75,6 @@ class VideoPlayerViewController: UIViewController {
|
|||
if let playbackSpeed = player?.rate {
|
||||
UserDefaults.standard.set(playbackSpeed, forKey: "lastPlaybackSpeed")
|
||||
}
|
||||
|
||||
player?.pause()
|
||||
if let timeObserverToken = timeObserverToken {
|
||||
player?.removeTimeObserver(timeObserverToken)
|
||||
|
|
|
|||
|
|
@ -14,11 +14,11 @@ struct SettingsViewPlayer: View {
|
|||
@AppStorage("rememberPlaySpeed") private var isRememberPlaySpeed = false
|
||||
@AppStorage("holdSpeedPlayer") private var holdSpeedPlayer: Double = 2.0
|
||||
|
||||
private let mediaPlayers = ["Default", "VLC", "OutPlayer", "Infuse", "nPlayer", "Sora"]
|
||||
private let mediaPlayers = ["Default", "Sora", "VLC", "OutPlayer", "Infuse", "nPlayer"]
|
||||
|
||||
var body: some View {
|
||||
Form {
|
||||
Section(header: Text("Media Player"), footer: Text("The Force Landscape and HoldSpeed only work inside the default iOS player and Sora player.")) {
|
||||
Section(header: Text("Media Player"), footer: Text("Some features are limited to Sora while others are limited to the Default player, such as ForceLandscape and holdSpeed.")) {
|
||||
HStack {
|
||||
Text("Media Player")
|
||||
Spacer()
|
||||
|
|
|
|||
Loading…
Reference in a new issue