I submitted Feedback about this in Feedback Assistant already, but figured I\'d post here too -- as of iOS 13.4, I have noticed various bugs in the MediaPlayer framework, specif
In my situation my player logic didn't always fire the player?.prepareToPlay() code. I make sure to stop() the player, then fire the prepareToPlay immediately after. Then I prep the player with the contentsOf: URL, and adjust the player settings, and then play. I also have some weird volume adjustments I had to add because of a popping sound that was happening. I'll post my player code below.
static func play(sound: Sound) {
stop()
player?.prepareToPlay()
let path = Bundle.main.path(forResource: sound.file, ofType: sound.extn)
let url = URL(fileURLWithPath: path!)
do {
player = try AVAudioPlayer(contentsOf: url)
player?.volume = 0 //starting volume at zero before playing eliminates pop on start
player?.numberOfLoops = -1
player?.play()
player?.setVolume(1, fadeDuration: 0.3) //fade in, no pop
} catch {
print(error)
}
}