EZOutputDelegate
@protocol EZOutputDelegate <NSObject>
The EZOutputDelegate for the EZOutput component provides a receiver to handle play state, device, and audio data change events. This is very similar to the EZMicrophoneDelegate for the EZMicrophone and the EZAudioFileDelegate for the EZAudioFile.
-
Called anytime the EZOutput starts or stops. - parameter: output The instance of the EZOutput that triggered the event. - parameter: isPlaying A BOOL indicating whether the EZOutput instance is playing or not.
Declaration
Objective-C
- (void)output:(EZOutput *)output changedPlayingState:(BOOL)isPlaying;Swift
optional func output(_ output: EZOutput!, changedPlayingState isPlaying: Bool)Parameters
outputThe instance of the EZOutput that triggered the event.
isPlayingA BOOL indicating whether the EZOutput instance is playing or not.
-
Called anytime the
devicechanges on an EZOutput instance. - parameter: output The instance of the EZOutput that triggered the event. - parameter: device The instance of the new EZAudioDevice the output is using to play audio data.Declaration
Objective-C
- (void)output:(EZOutput *)output changedDevice:(EZAudioDevice *)device;Swift
optional func output(_ output: EZOutput!, changedDevice device: EZAudioDevice!)Parameters
outputThe instance of the EZOutput that triggered the event.
deviceThe instance of the new EZAudioDevice the output is using to play audio data.
-
Like the EZMicrophoneDelegate, for the EZOutput this method provides an array of float arrays of the audio received, each float array representing a channel of audio data. This occurs on the background thread so any drawing code must explicity perform its functions on the main thread. - parameter: output The instance of the EZOutput that triggered the event. - parameter: buffer The audio data as an array of float arrays. In a stereo signal buffer[0] represents the left channel while buffer[1] would represent the right channel. - parameter: bufferSize A UInt32 representing the size of each of the buffers (the length of each float array). - parameter: numberOfChannels A UInt32 representing the number of channels (you can use this to know how many float arrays are in the
bufferparameter. - warning: This function executes on a background thread to avoid blocking any audio operations. If operations should be performed on any other thread (like the main thread) it should be performed within a dispatch block like so: dispatch_async(dispatch_get_main_queue(), ^{ …Your Code… })Declaration
Objective-C
- (void)output:(EZOutput *)output playedAudio:(float **)buffer withBufferSize:(UInt32)bufferSize withNumberOfChannels:(UInt32)numberOfChannels;Swift
optional func output(_ output: EZOutput!, playedAudio buffer: UnsafeMutablePointerParameters
outputThe instance of the EZOutput that triggered the event.
bufferThe audio data as an array of float arrays. In a stereo signal buffer[0] represents the left channel while buffer[1] would represent the right channel.
bufferSizeA UInt32 representing the size of each of the buffers (the length of each float array).
numberOfChannelsA UInt32 representing the number of channels (you can use this to know how many float arrays are in the
bufferparameter.
View on GitHub
EZOutputDelegate Protocol Reference