mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2026-08-27 22:04:08 +02:00
fix: Only mark audio session as active when playing
This commit is contained in:
@@ -284,7 +284,8 @@ class AudioPlayer: NSObject {
|
|||||||
await PlayerProgress.shared.syncFromPlayer(currentTime: currentTime, includesPlayProgress: self.isPlaying(), isStopping: false)
|
await PlayerProgress.shared.syncFromPlayer(currentTime: currentTime, includesPlayProgress: self.isPlaying(), isStopping: false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.markAudioSessionAs(active: true)
|
||||||
self.audioPlayer.play()
|
self.audioPlayer.play()
|
||||||
self.status = 1
|
self.status = 1
|
||||||
self.rate = self.tmpRate
|
self.rate = self.tmpRate
|
||||||
@@ -302,6 +303,7 @@ class AudioPlayer: NSObject {
|
|||||||
guard self.isInitialized() else { return }
|
guard self.isInitialized() else { return }
|
||||||
|
|
||||||
self.audioPlayer.pause()
|
self.audioPlayer.pause()
|
||||||
|
self.markAudioSessionAs(active: false)
|
||||||
|
|
||||||
Task {
|
Task {
|
||||||
if let currentTime = self.getCurrentTime() {
|
if let currentTime = self.getCurrentTime() {
|
||||||
@@ -572,13 +574,20 @@ class AudioPlayer: NSObject {
|
|||||||
private func initAudioSession() {
|
private func initAudioSession() {
|
||||||
do {
|
do {
|
||||||
try AVAudioSession.sharedInstance().setCategory(.playback, mode: .spokenAudio)
|
try AVAudioSession.sharedInstance().setCategory(.playback, mode: .spokenAudio)
|
||||||
try AVAudioSession.sharedInstance().setActive(true)
|
|
||||||
} catch {
|
} catch {
|
||||||
NSLog("Failed to set AVAudioSession category")
|
NSLog("Failed to set AVAudioSession category")
|
||||||
print(error)
|
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
|
// MARK: - Now playing
|
||||||
private func setupRemoteTransportControls() {
|
private func setupRemoteTransportControls() {
|
||||||
DispatchQueue.runOnMainQueue {
|
DispatchQueue.runOnMainQueue {
|
||||||
|
|||||||
Reference in New Issue
Block a user