OALAudioTrack Class Reference
| Inherits from | NSObject |
| Conforms to | AVAudioPlayerDelegate OALSuspendManager |
| Declared in | OALAudioTrack.h |
Overview
Plays an audio track via AVAudioPlayer. Unlike AVAudioPlayer, however, it can be re-used to play another file. Interruptions can be handled by OALAudioSupport (enabled by default).
Tasks
-
currentlyLoadedUrlThe URL of the currently loaded audio data.
property -
delegateOptional object that will receive notifications for decoding errors, audio interruptions (such as an incoming phone call), and playback completion.
property
Note: OALAudioTrack keeps a WEAK reference to delegate, so make sure you clear it when your object is going to be deallocated. -
gainThe gain (volume) for playback (0.0 – 1.0, where 1.0 = no attenuation).
property -
volumeThe volume (alias to gain) for playback (0.0 – 1.0, where 1.0 = no attenuation).
property -
panPan value (-1.0 = far left, 1.0 = far right). Note: This will have no effect on iOS versions prior to 4.0.
property -
mutedIf true, audio track is muted
property -
autoPreloadIf true, automatically preload again when playback stops
property -
preloadedIf true, audio track is in preloaded state
property -
numberOfLoopsThe number of times to loop playback (-1 = forever). Note: This value will be ignored, and get changed when you call the various playXX methods. Only “play” will use the current value of “numberOfLoops”.
property -
pausedIf true, pause playback.
property -
playerAccess to the underlying AVAudioPlayer object. WARNING: Be VERY careful when accessing this, as some methods could cause it to fall out of sync with OALAudioTrack (particularly play/pause/stop methods).
property -
playingIf true, background music is currently playing.
property -
currentTimeThe current playback position in seconds from the start of the sound. You can set this to change the playback position, whether it is currently playing or not.
property -
deviceCurrentTimeThe value of this property increases monotonically while an audio player is playing or paused.
property -
durationThe duration, in seconds, of the currently loaded sound.
property -
numberOfChannelsThe number of channels in the currently loaded sound.
property -
+ trackCreate a new audio track.
-
– preloadUrl:Preload the contents of a URL for playback. Once the audio data is preloaded, you can call “play” to play it.
-
– preloadUrl:seekTime:Preload the contents of a URL for playback. Once the audio data is preloaded, you can call “play” to play it.
-
– preloadFile:Preload the contents of a file for playback. Once the audio data is preloaded, you can call “play” to play it.
-
– preloadFile:seekTime:Preload the contents of a file for playback. Once the audio data is preloaded, you can call “play” to play it.
-
– preloadUrlAsync:target:selector:Asynchronously preload the contents of a URL for playback. Once the audio data is preloaded, you can call “play” to play it.
-
– preloadUrlAsync:seekTime:target:selector:Asynchronously preload the contents of a URL for playback. Once the audio data is preloaded, you can call “play” to play it.
-
– preloadFileAsync:target:selector:Asynchronously preload the contents of a file for playback. Once the audio data is preloaded, you can call “play” to play it.
-
– preloadFileAsync:seekTime:target:selector:Asynchronously preload the contents of a file for playback. Once the audio data is preloaded, you can call “play” to play it.
-
– playUrl:Play the contents of a URL once.
-
– playUrl:loops:Play the contents of a URL and loop the specified number of times.
-
– playFile:Play the contents of a file once.
-
– playFile:loops:Play the contents of a file and loop the specified number of times.
-
– playUrlAsync:target:selector:Play the contents of a URL asynchronously once.
-
– playUrlAsync:loops:target:selector:Play the contents of a URL asynchronously and loop the specified number of times.
-
– playFileAsync:target:selector:Play the contents of a file asynchronously once.
-
– playFileAsync:loops:target:selector:Play the contents of a file asynchronously and loop the specified number of times.
-
– playPlay the currently loaded audio track.
-
– playAtTime:Plays a sound asynchronously, starting at a specified point in the audio output device’s timeline.
-
– playAfterTrack:Plays the currently preloaded track asynchronously when the specified track completes.
-
– playAfterTrack:timeAdjust:Plays the currently preloaded track asynchronously when the specified track completes.
-
– stopStop playing and stop all operations.
-
– fadeTo:duration:target:selector:Fade to the specified gain value.
-
– stopFadeStop the currently running fade operation, if any.
-
– panTo:duration:target:selector:Pan to the specified pan value.
-
– stopPanStop the currently running pan operation, if any.
-
– stopActionsStop any internal fade or pan actions.
-
– clearUnload and clear all audio data, stop playing, and stop all operations.
-
meteringEnabledIf true, metering is enabled.
property -
– updateMetersUpdates the metering system to give current values. You must call this method before calling averagePowerForChannel or peakPowerForChannel in order to get current values.
-
– averagePowerForChannel:Gives the average power for a given channel, in decibels, for the sound being played. 0 dB indicates maximum power (full scale).
-160 dB indicates minimum power (near silence).
If the signal provided to the audio player exceeds full scale, then the value may be > 0. -
– peakPowerForChannel:Gives the peak power for a given channel, in decibels, for the sound being played. 0 dB indicates maximum power (full scale).
-160 dB indicates minimum power (near silence).
If the signal provided to the audio player exceeds full scale, then the value may be > 0.
Properties
autoPreload
If true, automatically preload again when playback stops
@property (nonatomic, readwrite, assign) bool autoPreloadDeclared In
OALAudioTrack.hcurrentTime
The current playback position in seconds from the start of the sound. You can set this to change the playback position, whether it is currently playing or not.
@property (readwrite, assign) NSTimeInterval currentTimeDeclared In
OALAudioTrack.hcurrentlyLoadedUrl
The URL of the currently loaded audio data.
@property (nonatomic, readonly) NSURL *currentlyLoadedUrlDeclared In
OALAudioTrack.hdelegate
Optional object that will receive notifications for decoding errors,
audio interruptions (such as an incoming phone call), and playback completion.
Note: OALAudioTrack keeps a WEAK reference to delegate, so make sure you clear it
when your object is going to be deallocated.
@property (readwrite, assign) id<AVAudioPlayerDelegate> delegateDeclared In
OALAudioTrack.hdeviceCurrentTime
The value of this property increases monotonically while an audio player is playing or paused.
@property (readonly) NSTimeInterval deviceCurrentTimeDiscussion
If more than one audio player is connected to the audio output device, device time continues
incrementing as long as at least one of the players is playing or paused.
If the audio output device has no connected audio players that are either playing or paused,
device time reverts to 0.
Use this property to indicate “now” when calling the playAtTime: instance method. By configuring multiple audio players to play at a specified offset from deviceCurrentTime, you can perform precise synchronization—as described in the discussion for that method.
Note: This will have no effect on iOS versions prior to 4.0.
Declared In
OALAudioTrack.hduration
The duration, in seconds, of the currently loaded sound.
@property (readonly) NSTimeInterval durationDeclared In
OALAudioTrack.hgain
The gain (volume) for playback (0.0 – 1.0, where 1.0 = no attenuation).
@property (readwrite, assign) float gainDeclared In
OALAudioTrack.hmeteringEnabled
If true, metering is enabled.
@property (readwrite, assign) bool meteringEnabledDeclared In
OALAudioTrack.hmuted
If true, audio track is muted
@property (readwrite, assign) bool mutedDeclared In
OALAudioTrack.hnumberOfChannels
The number of channels in the currently loaded sound.
@property (readonly) NSUInteger numberOfChannelsDeclared In
OALAudioTrack.hnumberOfLoops
The number of times to loop playback (-1 = forever). Note: This value will be ignored, and get changed when you call the various playXX methods. Only “play” will use the current value of “numberOfLoops”.
@property (readwrite, assign) NSInteger numberOfLoopsDeclared In
OALAudioTrack.hpan
Pan value (-1.0 = far left, 1.0 = far right). Note: This will have no effect on iOS versions prior to 4.0.
@property (readwrite, assign) float panDeclared In
OALAudioTrack.hpaused
If true, pause playback.
@property (readwrite, assign) bool pausedDeclared In
OALAudioTrack.hplayer
Access to the underlying AVAudioPlayer object. WARNING: Be VERY careful when accessing this, as some methods could cause it to fall out of sync with OALAudioTrack (particularly play/pause/stop methods).
@property (nonatomic, readonly) AVAudioPlayer *playerDeclared In
OALAudioTrack.hplaying
If true, background music is currently playing.
@property (nonatomic, readonly) bool playingDeclared In
OALAudioTrack.hInstance Methods
averagePowerForChannel:
Gives the average power for a given channel, in decibels, for the sound being played.
0 dB indicates maximum power (full scale).
-160 dB indicates minimum power (near silence).
If the signal provided to the audio player exceeds full scale, then the value may be > 0.
- (float)averagePowerForChannel:(NSUInteger)channelNumberParameters
- channelNumber
The channel to get the value from. For mono or left, use 0. For right, use 1.
Return Value
the average power for the channel.
Discussion
Note: The value returned is in reference to when updateMeters was last called. You must call updateMeters again before calling this method to get a current value.
Declared In
OALAudioTrack.hclear
Unload and clear all audio data, stop playing, and stop all operations.
- (void)clearDeclared In
OALAudioTrack.hfadeTo:duration:target:selector:
Fade to the specified gain value.
- (void)fadeTo:(float)gain duration:(float)duration target:(id)target selector:(SEL)selectorParameters
- gain
The gain to fade to.
- duration
The duration of the fade operation in seconds.
- target
The target to notify when the fade completes (can be nil).
- selector
The selector to call when the fade completes. The selector must accept a single parameter, which will be the object that performed the fade.
Declared In
OALAudioTrack.hpanTo:duration:target:selector:
Pan to the specified pan value.
- (void)panTo:(float)pan duration:(float)duration target:(id)target selector:(SEL)selectorParameters
- pan
The value to pan to.
- duration
The duration of the pan operation in seconds.
- target
The target to notify when the pan completes (can be nil).
- selector
The selector to call when the pan completes. The selector must accept a single parameter, which will be the object that performed the pan.
Discussion
Note: This will have no effect on iOS versions prior to 4.0.
Declared In
OALAudioTrack.hpeakPowerForChannel:
Gives the peak power for a given channel, in decibels, for the sound being played.
0 dB indicates maximum power (full scale).
-160 dB indicates minimum power (near silence).
If the signal provided to the audio player exceeds full scale, then the value may be > 0.
- (float)peakPowerForChannel:(NSUInteger)channelNumberParameters
- channelNumber
The channel to get the value from. For mono or left, use 0. For right, use 1.
Return Value
the average power for the channel.
Discussion
Note: The value returned is in reference to when updateMeters was last called. You must call updateMeters again before calling this method to get a current value.
Declared In
OALAudioTrack.hplay
Play the currently loaded audio track.
- (bool)playReturn Value
TRUE if the operation was successful.
Declared In
OALAudioTrack.hplayAfterTrack:
Plays the currently preloaded track asynchronously when the specified track completes.
- (bool)playAfterTrack:(OALAudioTrack *)trackParameters
- track
The track to play after
Return Value
YES if the playback was successfully scheduled.
Discussion
Note: This will have no effect on iOS versions prior to 4.0.
Declared In
OALAudioTrack.hplayAfterTrack:timeAdjust:
Plays the currently preloaded track asynchronously when the specified track completes.
- (bool)playAfterTrack:(OALAudioTrack *)track timeAdjust:(NSTimeInterval)timeAdjustParameters
- track
The track to play after
- timeAdjust
fine-tune value added to the time start offset.
Return Value
YES if the playback was successfully scheduled.
Discussion
Note: This will have no effect on iOS versions prior to 4.0.
Declared In
OALAudioTrack.hplayAtTime:
Plays a sound asynchronously, starting at a specified point in the audio output device’s timeline.
- (bool)playAtTime:(NSTimeInterval)timeParameters
- time
The time (device time) to start playing at.
Return Value
YES if the playback was successfully scheduled.
Discussion
Note: This will have no effect on iOS versions prior to 4.0.
Declared In
OALAudioTrack.hplayFile:
Play the contents of a file once.
- (bool)playFile:(NSString *)pathParameters
- path
The file containing the sound data.
Return Value
TRUE if the operation was successful.
Declared In
OALAudioTrack.hplayFile:loops:
Play the contents of a file and loop the specified number of times.
- (bool)playFile:(NSString *)path loops:(NSInteger)loopsParameters
- path
The file containing the sound data.
- loops
The number of times to loop playback (-1 = forever)
Return Value
TRUE if the operation was successful.
Declared In
OALAudioTrack.hplayFileAsync:loops:target:selector:
Play the contents of a file asynchronously and loop the specified number of times.
- (void)playFileAsync:(NSString *)path loops:(NSInteger)loops target:(id)target selector:(SEL)selectorParameters
- path
The file containing the sound data.
- loops
The number of times to loop playback (-1 = forever)
- target
the target to inform when playing has started.
- selector
the selector to call when playing has started.
Declared In
OALAudioTrack.hplayFileAsync:target:selector:
Play the contents of a file asynchronously once.
- (void)playFileAsync:(NSString *)path target:(id)target selector:(SEL)selectorParameters
- path
The file containing the sound data.
- target
the target to inform when playing has started.
- selector
the selector to call when playing has started.
Declared In
OALAudioTrack.hplayUrl:
Play the contents of a URL once.
- (bool)playUrl:(NSURL *)urlParameters
- url
The URL containing the sound data.
Return Value
TRUE if the operation was successful.
Declared In
OALAudioTrack.hplayUrl:loops:
Play the contents of a URL and loop the specified number of times.
- (bool)playUrl:(NSURL *)url loops:(NSInteger)loopsParameters
- url
The URL containing the sound data.
- loops
The number of times to loop playback (-1 = forever)
Return Value
TRUE if the operation was successful.
Declared In
OALAudioTrack.hplayUrlAsync:loops:target:selector:
Play the contents of a URL asynchronously and loop the specified number of times.
- (void)playUrlAsync:(NSURL *)url loops:(NSInteger)loops target:(id)target selector:(SEL)selectorParameters
- url
The URL containing the sound data.
- loops
The number of times to loop playback (-1 = forever)
- target
the target to inform when playing has started.
- selector
the selector to call when playing has started.
Declared In
OALAudioTrack.hplayUrlAsync:target:selector:
Play the contents of a URL asynchronously once.
- (void)playUrlAsync:(NSURL *)url target:(id)target selector:(SEL)selectorParameters
- url
The URL containing the sound data.
- target
the target to inform when playing has started.
- selector
the selector to call when playing has started.
Declared In
OALAudioTrack.hpreloadFile:
Preload the contents of a file for playback.
Once the audio data is preloaded, you can call “play” to play it.
- (bool)preloadFile:(NSString *)pathParameters
- path
The file containing the sound data.
Return Value
TRUE if the operation was successful.
Declared In
OALAudioTrack.hpreloadFile:seekTime:
Preload the contents of a file for playback.
Once the audio data is preloaded, you can call “play” to play it.
- (bool)preloadFile:(NSString *)path seekTime:(NSTimeInterval)seekTimeParameters
- path
The file containing the sound data.
- seekTime
The position in the file to start playing at.
Return Value
TRUE if the operation was successful.
Declared In
OALAudioTrack.hpreloadFileAsync:seekTime:target:selector:
Asynchronously preload the contents of a file for playback.
Once the audio data is preloaded, you can call “play” to play it.
- (bool)preloadFileAsync:(NSString *)path seekTime:(NSTimeInterval)seekTime target:(id)target selector:(SEL)selectorParameters
- path
The file containing the sound data.
- seekTime
The position in the file to start playing at.
- target
the target to inform when preparation is complete.
- selector
the selector to call when preparation is complete.
Return Value
TRUE if the operation was successfully queued.
Declared In
OALAudioTrack.hpreloadFileAsync:target:selector:
Asynchronously preload the contents of a file for playback.
Once the audio data is preloaded, you can call “play” to play it.
- (bool)preloadFileAsync:(NSString *)path target:(id)target selector:(SEL)selectorParameters
- path
The file containing the sound data.
- target
the target to inform when preparation is complete.
- selector
the selector to call when preparation is complete.
Return Value
TRUE if the operation was successfully queued.
Declared In
OALAudioTrack.hpreloadUrl:
Preload the contents of a URL for playback.
Once the audio data is preloaded, you can call “play” to play it.
- (bool)preloadUrl:(NSURL *)urlParameters
- url
The URL containing the sound data.
Return Value
TRUE if the operation was successful.
Declared In
OALAudioTrack.hpreloadUrl:seekTime:
Preload the contents of a URL for playback.
Once the audio data is preloaded, you can call “play” to play it.
- (bool)preloadUrl:(NSURL *)url seekTime:(NSTimeInterval)seekTimeParameters
- url
The URL containing the sound data.
- seekTime
The position in the file to start playing at.
Return Value
TRUE if the operation was successful.
Declared In
OALAudioTrack.hpreloadUrlAsync:seekTime:target:selector:
Asynchronously preload the contents of a URL for playback.
Once the audio data is preloaded, you can call “play” to play it.
- (bool)preloadUrlAsync:(NSURL *)url seekTime:(NSTimeInterval)seekTime target:(id)target selector:(SEL)selectorParameters
- url
The URL containing the sound data.
- seekTime
The position in the file to start playing at.
- target
the target to inform when preparation is complete.
- selector
the selector to call when preparation is complete.
Return Value
TRUE if the operation was successfully queued.
Declared In
OALAudioTrack.hpreloadUrlAsync:target:selector:
Asynchronously preload the contents of a URL for playback.
Once the audio data is preloaded, you can call “play” to play it.
- (bool)preloadUrlAsync:(NSURL *)url target:(id)target selector:(SEL)selectorParameters
- url
The URL containing the sound data.
- target
the target to inform when preparation is complete.
- selector
the selector to call when preparation is complete.
Return Value
TRUE if the operation was successfully queued.
Declared In
OALAudioTrack.hstopFade
Stop the currently running fade operation, if any.
- (void)stopFadeDeclared In
OALAudioTrack.h