MonoMac 0.0.0.0 System.Object System.IDisposable Base class for Input and Output audio queues.

AudioQueues can be used to record audio from the system input devices into a stream, and to play back audio. They are responsible for encoding your audio when recording or decoding your compressed audio when playing back and interact directly with the audio hardware and decoding hardware where appropriate.

AudioQueue is a base class for both the which is used to record audio and the which is used to playback audio. This class provides services to start, prime, stop, pause the queues as well as volume control, resource management and event notifications.

When you use AudioQueues, you must allocate buffers for playback or recording. You use the method or the to allocate them and you use the to release them. You keep a collection of buffers around that the underlying hardware can use to either playback audio, or record into. As the buffers are used, a notification callback is invoked. In the OutputAudioQueue case, you connect to the OutputCompleted event to be notified when a buffer has been fully played back, and in the InputAudioQueue you use the InputCompleted event to be notified when a recording has fully utilized a buffer.

Unless otherwise specified, the callbacks for processing a filled audio buffer, or filling out an audio buffer are invoked on an AudioQueue thread. You can change this by providing an instance of the CFRunLoop that you want to use for processing the events in your queue.

When processing an input or output queue, you might want to listen to a few property changes raised by the queues during their processing (See the for a list of events that you can listen to). To do this, use the method to add a listener and use the method to remove the listener.

You can see the StreamingAudio to see how to use AudioBuffers.

The various AudioQueue properties are exposed as high-level C# properties. In addition to the high-level properties, a low-level interface to the AudioQueue property system is exposed in case Apple introduces a new property that was not previously bound or if you need finer grained control. The low-level interface is provided by the GetProperty and SetProperty family of methods.

StreamingAudio
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus `` `` To be added. To be added. To be added. To be added. To be added.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus `` `` The audio buffer size to allocate (in bytes). Returns the allocated buffer as an unsafe AudioQueueBuffer pointer. Allocates an audio buffer associated with this AudioQueue AudioQueueStatus.Ok on success, otherwise the error.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus `` `` The audio buffer size to allocate (in bytes). Returns the pointer to the allocated buffer as an IntPtr. Allocates an audio buffer associated with this AudioQueue, used for fixed bit rate buffers. AudioQueueStatus.Ok on success, otherwise the error. Use the to allocate buffers that will be used with variable bit rate encodings.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus `` `` `` Size of the buffer to allocate. Number of packets descriptors in the audio queue buffer. The allocated buffer on return Allocates an audio queue object for variable-bit-rate buffers. AudioQueueStatus.Ok on success and the audioQueueBuffer pointing to the buffer, otherwise the error. Use the to allocate buffers that will be used with fixed bit rate encodings.
- Property
  0.0.0.0
  MonoMac.AudioToolbox.AudioStreamBasicDescription To be added. To be added. To be added.
- Property
  0.0.0.0
  MonoMac.AudioToolbox.AudioChannelLayout The audio layout. To be added. To be added.
- Property
  0.0.0.0
  System.UInt32 To be added. To be added. To be added.
- Method
  0.0.0.0
  MonoMac.ObjCRuntime.Since(6, 0)
  MonoMac.AudioToolbox.AudioQueueProcessingTap `` `` `` To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueTimeline To be added. To be added. To be added.
- Property
  0.0.0.0
  System.String To be added. To be added. To be added.
- Property
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueLevelMeterState[] To be added. To be added. To be added.
- Property
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueLevelMeterState[] To be added. To be added. To be added.
- Property
  0.0.0.0
  MonoMac.AudioToolbox.AudioTimeStamp To be added. To be added. To be added.
- Property
  0.0.0.0
  System.Int32 To be added. To be added. To be added.
- Property
  0.0.0.0
  System.Int32 To be added. To be added. To be added.
- Method
  0.0.0.0
  System.Void Releases the resources used by the AudioQueue object.

  The Dispose method releases the resources used by the AudioQueue class.

  Calling the Dispose method when you are finished using the AudioQueue ensures that all external resources used by this managed object are released as soon as possible. Once you have invoked the Dispose method, the object is no longer useful and you should no longer make any calls to it. For more information on releasing resources see ``Cleaning up Unmananaged Resources'' at http://msdn.microsoft.com/en-us/library/498928w2.aspx

- Method
  0.0.0.0
  System.Void `` ``

  If set to , the method is invoked directly and will dispose manage and unmanaged resources; If set to the method is being called by the garbage collector finalizer and should only release unmanaged resources.

  To be added. Releases the resources used by the AudioQueue object.

  This Dispose method releases the resources used by the AudioQueue class.

  This method is called by both the Dispose() method and the object finalizer (Finalize). When invoked by the Dispose method, the parameter disposting is set to and any managed object references that this object holds are also disposed or released; when invoked by the object finalizer, on the finalizer thread the value is set to .

  Calling the Dispose method when you are finished using the AudioQueue ensures that all external resources used by this managed object are released as soon as possible. Once you have invoked the Dispose method, the object is no longer useful and you should no longer make any calls to it.

  For more information on how to override this method and on the Dispose/IDisposable pattern, read the ``Implementing a Dispose Method'' document at http://msdn.microsoft.com/en-us/library/fs2xkftw.aspx

- Property
  0.0.0.0
  System.Boolean To be added. To be added. To be added.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus `` `` The audio queue buffer to add to the buffer queue. An array of packet descriptors for the packets that will be added to the queue. Adds a buffer to the buffer queue of an audio queue. AudioQueueStatus.Ok on success, otherwise the error.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus `` `` `` The audio queue buffer to add to the buffer queue. The number of bytes from the queue buffer to add to the buffer queue. The audioQueueBuffer parameter will be updated with this value. An array of packet descriptors for the packets that will be added to the queue. Adds a buffer to the buffer queue of an audio queue. AudioQueueStatus.Ok on success, otherwise the error.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus `` `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus `` `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  0.0.0.0
  System.Void `` `` `` `` `` An audio buffer allocated with either the method or the methods. Offset into the audio queue buffer to copy the data to. Pointer to the data source to copy into the audio queue buffer. Offset inside the source. Number of bytes to copy into the audio queue buffer. Copies raw audio data contained at the location pointed to by source+sourceOffset at the specified offset into the AudioQueueBuffer. To be added.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus To be added. AudioQueueStatus.Ok on success, otherwise the error. To be added.
- Method
  0.0.0.0
  System.Void `` To be added. To be added. To be added.
- Field
  0.0.0.0
  System.Runtime.InteropServices.GCHandle To be added. To be added.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus `` `` `` To be added. To be added. To be added. To be added. AudioQueueStatus.Ok on success, otherwise the error. To be added.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioTimeStamp `` To be added. To be added. To be added. To be added.
- Method
  0.0.0.0
  System.Obsolete
  System.IntPtr `` `` To be added. To be added. To be added. To be added. To be added.
- Method
  0.0.0.0
  System.Obsolete
  System.Boolean `` `` `` To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  0.0.0.0
  System.Obsolete
  T `` To be added. To be added. To be added. To be added. To be added.
- Field
  0.0.0.0
  System.IntPtr To be added. To be added.
- Property
  0.0.0.0
  System.IntPtr Handle (pointer) to the unmanaged object representation. A pointer This IntPtr is a handle to the underlying unmanaged representation for this object.
- Property
  0.0.0.0
  System.Boolean To be added. To be added. To be added.
- Property
  0.0.0.0
  System.Byte[] Audio metadata required by certain formats. Opaque byte array with a codec-specific token. Certain file format produce a MagicCookie that contains audio metadata. When playing back or recording, you need to copy this magic cookie from the AudioQueue to the by copying this property to the property.
- Property
  0.0.0.0
  System.Int32 To be added. To be added. To be added.
- Property
  0.0.0.0
  System.Single To be added. To be added. To be added.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus To be added. AudioQueueStatus.Ok on success, otherwise the error. To be added.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus `` `` Number of frames to process. If you pass zero, this will process all the frames. Returns the number of frames actually processed Used to prepare the audio buffers to play back and ensure that there is data ready to be played by the audio hardware. AudioQueueStatus.Ok on success, otherwise the error.
- Method
  0.0.0.0
  System.Void To be added. To be added.
- Method
  0.0.0.0
  System.Void `` `` To be added. To be added. To be added. To be added.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus To be added. AudioQueueStatus.Ok on success, otherwise the error. To be added.
- Property
  0.0.0.0
  System.Double To be added. To be added. To be added.
- Method
  0.0.0.0
  System.Obsolete
  System.Boolean `` `` `` To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus Starts the audio queue. AudioQueueStatus.Ok on success, otherwise the error. To be added.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus `` To be added. To be added. AudioQueueStatus.Ok on success, otherwise the error. To be added.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioQueueStatus `` If true, by the time the function returns, audio would have stopped playing. Otherwise the pending buffers are flushed and audio continues to play or be recorded until then. Stops the AudioQueue. AudioQueueStatus.Ok on success, otherwise the error. To be added.
- Method
  0.0.0.0
  MonoMac.AudioToolbox.AudioTimeStamp `` To be added. To be added. To be added. To be added.
- Property
  0.0.0.0
  System.Single The volume Value between 0.0 and 1.0.
- Property
  0.0.0.0
  System.Single To be added. To be added. To be added.