AVAudioPlayerDelegate Protocol Reference

Conforms to
Framework
/System/Library/Frameworks/AVFoundation.framework
Availability
Available in iOS 2.2 and later.
Declared in
AVAudioPlayer.h
Related sample code

Overview

The delegate of an AVAudioPlayer object must adopt the AVAudioPlayerDelegate protocol. All of the methods in this protocol are optional. They allow a delegate to respond to audio interruptions and audio decoding errors, and to the completion of a sound’s playback.

Tasks

Responding to Sound Playback Completion

Responding to an Audio Decoding Error

Handling Audio Interruptions

Instance Methods

audioPlayerBeginInterruption:

Called when an audio player is interrupted, such as by an incoming phone call.

- (void)audioPlayerBeginInterruption:(AVAudioPlayer *)player
Parameters
player

The audio player that has been interrupted.

Discussion

Upon interruption, your application’s audio session is deactivated and the audio player pauses. You cannot use the audio player again until you receive a notification that the interruption has ended.

Availability
  • Available in iOS 2.2 and later.
Declared In
AVAudioPlayer.h

audioPlayerDecodeErrorDidOccur:error:

Called when an audio player encounters a decoding error during playback.

- (void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer *)player error:(NSError *)error
Parameters
player

The audio player that encountered the decoding error.

error

The decoding error.

Availability
  • Available in iOS 2.2 and later.
Declared In
AVAudioPlayer.h

audioPlayerDidFinishPlaying:successfully:

Called when a sound has finished playing.

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
Parameters
player

The audio player that finished playing.

flag

YES on successful completion of playback; NO if playback stopped because the system could not decode the audio data.

Discussion

This method is not called upon an audio interruption. Rather, an audio player is paused upon interruption—the sound has not finished playing.

Availability
  • Available in iOS 2.2 and later.
Declared In
AVAudioPlayer.h

audioPlayerEndInterruption:withOptions:

Called after your audio session interruption ends, with options indicating the state of the audio session.

- (void)audioPlayerEndInterruption:(AVAudioPlayer *)player withOptions:(NSUInteger)flags
Parameters
player

The audio player whose interruption has ended.

flags

Options indicating the state of the audio session when this method is called. Options are described in AVAudioSessionInterruptionOptions.

Discussion

When an interruption ends, such as by a user ignoring an incoming phone call, the audio session for your application is automatically reactivated; at that point you can again interact with the audio player. To resume playback, call the play method.

If this delegate method receives the AVAudioSessionInterruptionOptionShouldResume constant in its options parameter, the audio session is immediately ready to be used.

Availability
  • Available in iOS 6.0 and later.
Declared In
AVAudioPlayer.h