AudioQueueProcessingTapDelegate 委托
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
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
对于输入队列,返回时间戳,对于输出队列,返回当前时间戳。
输入时,标志描述 (PreEffect、PostEffect 或 Siphon) 执行的点击类型。 它还可能包含值 StartOfStream,以指示已请求重置到开头。 在输出时,它应已更新 StartOfStream 和 EndOfStream 标志。
- data
- AudioBuffers
抽吸分水龙头可以检查各个 AudioBuffer 的内容,但不得对其进行更改。 其他点击应根据需要分配和填充缓冲区。
返回值
数据中提供的帧数。
注解
调用 GetSourceAudio,直到收到点击工作所需的音频帧数。
如果点击无法完全填充请求的帧数,AudioQueue 将使用静音填充空白。
在输入时,标志可能包含 StartOfStream 请求,以及有关在效果之前、效果之后或只是虹吸) 之前 (运行的点击类型的信息。 回调可以修改非 Siphon 事例的数据缓冲区。 对于 Siphon,它应仅检查,但不应更改内容。
退出非 Siphon 事例时,应使用 StartOfStream 和 EndOfStream 标志更新标志,具体取决于 的 GetSourceAudio 方法的返回值 AudioQueueProcessingTap。
对于非虹吸情况,点击应分配 AudioBuffer 内容的内容,并确保它们在下次调用 Tap 回调之前保持有效。