다음을 통해 공유


AudioQueueProcessingTapDelegate 대리자

정의

AudioQueue의 탭 콜백 처리기에 대한 서명입니다.

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

사이펀 탭은 개별 AudioBuffers의 콘텐츠를 검사할 수 있지만 변경해서는 안 됩니다. 다른 탭은 필요에 따라 버퍼를 할당하고 채워야 합니다.

반환 값

데이터에 제공된 프레임 수입니다.

설명

탭이 작동하는 데 필요한 오디오 프레임 수가 수신될 때까지 GetSourceAudio를 호출합니다.

탭이 요청된 프레임 수를 가득 채울 수 없는 경우 AudioQueue는 공백을 무음으로 채웁니다.

항목에서 플래그에는 StartOfStream 요청과 이 탭의 종류에 대한 정보가 포함될 수 있습니다(효과 전에 실행, 효과 후 또는 Siphon만 실행). 콜백은 Siphon이 아닌 사례에 대한 데이터 버퍼를 수정할 수 있습니다. Siphon의 경우 단순히 내용을 검사해야 하지만 내용을 변경하지는 않아야 합니다.

Siphon이 아닌 경우 종료 시 플래그는 의 GetSourceAudio 메서드의 AudioQueueProcessingTap반환 값에 따라 StartOfStream 및 EndOfStream 플래그로 업데이트되어야 합니다.

사이펀이 아닌 경우 탭은 AudioBuffer 콘텐츠의 콘텐츠를 할당하고 다음에 탭 콜백이 호출될 때까지 유효한지 확인해야 합니다.

적용 대상