AudioQueue 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
输入和输出音频队列的基类。
public abstract class AudioQueue : IDisposable
type AudioQueue = class
interface IDisposable
- 继承
-
AudioQueue
- 派生
- 实现
注解
AudioQueues 可用于将系统输入设备的音频录制到流中,以及播放音频。 它们负责在录制或播放时解码压缩的音频时对音频进行编码,并在适当情况下直接与音频硬件交互和解码硬件。
AudioQueue 是用于录制音频和OutputAudioQueue用于播放音频的 的基类InputAudioQueue。 此类提供用于启动、启动、停止、暂停队列以及音量控制、资源管理和事件通知的服务。
使用 AudioQueues 时,必须分配用于播放或录制的缓冲区。 使用 AllocateBuffer(Int32, AudioQueueBuffer*) 方法或 来 AllocateBufferWithPacketDescriptors(Int32, Int32, IntPtr) 分配它们,并使用 FreeBuffer(IntPtr) 释放它们。 在周围保留一组缓冲区,基础硬件可以使用这些缓冲区来播放音频或录制内容。 使用缓冲区时,会调用通知回调。 在 OutputAudioQueue 的情况下,连接到 OutputCompleted 事件以在缓冲区完全播放时收到通知;在 InputAudioQueue 中,使用 InputCompleted 事件在录制已充分利用缓冲区时收到通知。
除非另行指定,否则将在 AudioQueue 线程上调用用于处理已填充音频缓冲区或填充音频缓冲区的回调。 可以通过提供要用于处理队列中的事件的 CFRunLoop 实例来更改此情况。
处理输入或输出队列时,可能需要侦听队列在处理期间引发的一些属性更改, (请参阅 E:AudioToolBox.AudioQueueProperty ,获取可以) 收听的事件列表。 为此,请使用 AddListener(AudioQueueProperty, AudioQueue+AudioQueuePropertyChanged) 方法添加侦听器,并使用 RemoveListener(AudioQueueProperty, AudioQueue+AudioQueuePropertyChanged) 方法删除侦听器。
可以查看 StreamingAudio ,了解如何使用 AudioBuffers。
各种 AudioQueue 属性公开为高级 C# 属性。 除了高级属性之外,如果 Apple 引入了以前未绑定的新属性,或者需要更精细的控制,则会公开 AudioQueue 属性系统的低级别接口。 低级别接口由 GetProperty 和 SetProperty 系列方法提供。
字段
gch |
输入和输出音频队列的基类。 |
handle |
输入和输出音频队列的基类。 |
属性
AudioStreamDescription |
输入和输出音频队列的基类。 |
AudioStreamPacketDescription |
已过时.
音频队列的 AudioStreamBasicDescription。 |
ChannelLayout |
音频队列通道布局。 |
ConverterError |
包含音频队列的编码或解码过程中生成的最新错误。 |
CurrentDevice |
与此音频队列关联的设备的唯一标识符。 |
CurrentLevelMeter |
当前级别仪表,每个通道在零 (最小) 到一个 (最大) 。 |
CurrentLevelMeterDB |
当前级别计量器,每个通道一个,以分贝为单位。 |
CurrentTime |
返回硬件设备的当前时间。 |
DecodeBufferSizeFrames |
输入和输出音频队列的基类。 |
DeviceChannels |
输入和输出音频队列的基类。 |
EnableLevelMetering |
对音频队列启用级别计量。 |
Handle |
处理指向非托管对象表示形式的 (指针) 。 |
HardwareCodecPolicy |
输入和输出音频队列的基类。 |
IsRunning |
输入和输出音频队列的基类。 |
MagicCookie |
某些格式所需的音频元数据。 |
MaximumOutputPacketSize |
输入和输出音频队列的基类。 |
Pan |
输入和输出音频队列的基类。 |
SampleRate |
输入和输出音频队列的基类。 |
Volume |
卷 |
VolumeRampTime |
输入和输出音频队列的基类。 |