Deferred audio session configuration from AudioPlayer.init() to first play. Setting .playback category on init interrupted podcasts and other audio before the user even tapped a song. - configureAudioSession() removed from init, added to crossfade path and playLocalWithEngine (playWithAVPlayer already had it) - resumeVisTimers: setActive(true) moved below guard isPlaying so foregrounding the app without active playback leaves other audio alone - All 4 setActive(true) sites now gated behind actual playback or system interruption recovery |
||
|---|---|---|
| .. | ||
| API | ||
| Audio | ||
| Models | ||
| Storage | ||