Audio Unit Fader. More...
#import <ABAudioUnitFader.h>
Inherits NSObject.
Class Methods | |
(void) | + fadeOutAndStopAudioUnit: |
Fade out, then stop audio unit. | |
(void) | + fadeOutAudioUnit:completionBlock: |
Fade out audio unit, then call completion block. | |
(void) | + startAndFadeInAudioUnit: |
Start, then fade in audio unit. | |
(void) | + fadeInAudioUnit:beginBlock:completionBlock: |
Fade in audio unit, then call completion block. | |
(BOOL) | + transitionsRunning |
Determine if there are any running transitions. | |
(void) | + cancel |
Cancel any current transitions. | |
Audio Unit Fader.
This class provides an easy-to-use facility for starting a Remote IO audio unit, then fading in, or fading out then stopping a Remote IO audio unit. This allows your app to transition smoothly between running and stopped states without any unpleasant clicks.
Use this class in place of calling AudioOutputUnitStart or AudioOutputUnitStop, and it will perform a smooth fade in or out, and either call the appropriate start/stop routines itself, or invoke a completion block you provide, to perform your own shutdown or setup.
+ (void) fadeOutAndStopAudioUnit: | (AudioUnit) | audioUnit |
Fade out, then stop audio unit.
This method will apply a fade-out ramp on the provided Remote IO audio unit, then call AudioOutputUnitStop, to halt the audio unit's render pipeline.
Calling this method cancels any other transitions.
audioUnit | A reference to a Remote IO audio unit (kAudioUnitSubType_RemoteIO) |
+ (void) fadeOutAudioUnit: | (AudioUnit) | audioUnit | |
completionBlock: | (ABAudioUnitFaderBlock) | block | |
Fade out audio unit, then call completion block.
This method will apply a fade-out ramp on the provided Remote IO audio unit, then call the provided completion block. You should stop your audio output's render pipeline from within this completion block, by either calling AudioOutputUnitStop, or if you're using an AudioGraph, AUGraphStop.
Calling this method cancels any other transitions.
audioUnit | A reference to a Remote IO audio unit (kAudioUnitSubType_RemoteIO) |
block | Block to call on completion of fade-out |
+ (void) startAndFadeInAudioUnit: | (AudioUnit) | audioUnit |
Start, then fade in audio unit.
This method will call AudioOutputUnitStart on the provided audio unit, then apply a fade-in ramp on the provided Remote IO audio unit.
Calling this method cancels any other transitions.
audioUnit | A reference to a Remote IO audio unit (kAudioUnitSubType_RemoteIO) |
+ (void) fadeInAudioUnit: | (AudioUnit) | audioUnit | |
beginBlock: | (ABAudioUnitFaderBlock) | beginBlock | |
completionBlock: | (ABAudioUnitFaderBlock) | completionBlock | |
Fade in audio unit, then call completion block.
This method will apply a fade-in ramp on the provided Remote IO audio unit, initialising then calling the provided beginBlock, which should start the audio unit by either calling AudioOutputUnitStart, or if you're using an AudioGraph, AUGraphStart. Upon completion, the provided optional completion block will be called.
If you do not need to be notified on completion of the fade-in transition, pass nil for the 'completionBlock' parameter.
Calling this method cancels any other transitions.
audioUnit | A reference to a Remote IO audio unit (kAudioUnitSubType_RemoteIO) |
beginBlock | Block to call at beginning of process, after initialisation |
completionBlock | Block to call on completion of fade-in |
+ (BOOL) transitionsRunning |
Determine if there are any running transitions.
+ (void) cancel |
Cancel any current transitions.