What is the east way to track when song finished playing with AVPlayer in Swift?
Is there any function which is called when avplayer finished playing, or I should combin
You need to create an object that implements the AVAudioPlayerDelegate protocol, and use that as the delegate of the AVAudioPlayer
object. Then link them together, for example:
audioPlayer = try! AVAudioPlayer(contentsOf: audioFileUrl)
audioPlayer.delegate = self
The delegate can implement methods that responds to certain events. This one fires when the audio finishes playing:
func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
// ...
}