mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2025-08-04 10:04:39 +02:00
fix: Only mark audio session as active when playing
This commit is contained in:
parent
b02dd18e0b
commit
20d932877e
1 changed files with 11 additions and 2 deletions
|
@ -284,7 +284,8 @@ class AudioPlayer: NSObject {
|
|||
await PlayerProgress.shared.syncFromPlayer(currentTime: currentTime, includesPlayProgress: self.isPlaying(), isStopping: false)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
self.markAudioSessionAs(active: true)
|
||||
self.audioPlayer.play()
|
||||
self.status = 1
|
||||
self.rate = self.tmpRate
|
||||
|
@ -302,6 +303,7 @@ class AudioPlayer: NSObject {
|
|||
guard self.isInitialized() else { return }
|
||||
|
||||
self.audioPlayer.pause()
|
||||
self.markAudioSessionAs(active: false)
|
||||
|
||||
Task {
|
||||
if let currentTime = self.getCurrentTime() {
|
||||
|
@ -572,13 +574,20 @@ class AudioPlayer: NSObject {
|
|||
private func initAudioSession() {
|
||||
do {
|
||||
try AVAudioSession.sharedInstance().setCategory(.playback, mode: .spokenAudio)
|
||||
try AVAudioSession.sharedInstance().setActive(true)
|
||||
} catch {
|
||||
NSLog("Failed to set AVAudioSession category")
|
||||
print(error)
|
||||
}
|
||||
}
|
||||
|
||||
private func markAudioSessionAs(active: Bool) {
|
||||
do {
|
||||
try AVAudioSession.sharedInstance().setActive(active)
|
||||
} catch {
|
||||
NSLog("Failed to set audio session as active=\(active)")
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Now playing
|
||||
private func setupRemoteTransportControls() {
|
||||
DispatchQueue.runOnMainQueue {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue