AudioQueueProcessingTapDelegate 委托

定义

AudioQueue 的 Tap 回调处理程序的签名。

public delegate uint AudioQueueProcessingTapDelegate(AudioQueueProcessingTap audioQueueTap, uint numberOfFrames, ref AudioTimeStamp timeStamp, ref AudioQueueProcessingTapFlags flags, AudioBuffers data);
type AudioQueueProcessingTapDelegate = delegate of AudioQueueProcessingTap * uint32 *  *  * AudioBuffers -> uint32

参数

audioQueueTap
AudioQueueProcessingTap

回调的上下文提供对 Tap 可以使用的资源和 Tap 配置参数的访问。

numberOfFrames
UInt32

方法应呈现的帧数。

timeStamp
AudioTimeStamp

对于输入队列,返回时间戳,对于输出队列,返回当前时间戳。

flags
AudioQueueProcessingTapFlags

输入时,标志描述 (PreEffect、PostEffect 或 Siphon) 执行的点击类型。 它还可能包含值 StartOfStream,以指示已请求重置到开头。 在输出时,它应已更新 StartOfStream 和 EndOfStream 标志。

data
AudioBuffers

抽吸分水龙头可以检查各个 AudioBuffer 的内容,但不得对其进行更改。 其他点击应根据需要分配和填充缓冲区。

返回值

数据中提供的帧数。

注解

调用 GetSourceAudio,直到收到点击工作所需的音频帧数。

如果点击无法完全填充请求的帧数,AudioQueue 将使用静音填充空白。

在输入时,标志可能包含 StartOfStream 请求,以及有关在效果之前、效果之后或只是虹吸) 之前 (运行的点击类型的信息。 回调可以修改非 Siphon 事例的数据缓冲区。 对于 Siphon,它应仅检查,但不应更改内容。

退出非 Siphon 事例时,应使用 StartOfStream 和 EndOfStream 标志更新标志,具体取决于 的 GetSourceAudio 方法的返回值 AudioQueueProcessingTap

对于非虹吸情况,点击应分配 AudioBuffer 内容的内容,并确保它们在下次调用 Tap 回调之前保持有效。

适用于