Поделиться через


AudioQueueProcessingTapDelegate Делегат

Определение

Подпись для обработчиков обратного вызова Tap 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

Сифонные краны могут проверять содержимое отдельных аудиобуферов на месте, но не должны вносить в него изменения. Другие касания должны выделять и заполнять буферы по мере необходимости.

Возвращаемое значение

Количество кадров, предоставленных в данных.

Комментарии

Вызывайте GetSourceAudio, пока не будет получено требуемое количество аудиокадров, необходимых для работы касания.

Если касания не могут заполнить запрошенные кадры, AudioQueue заполнит пробел тишиной.

При записи флаги могут содержать запрос StartOfStream, а также сведения о типе касания (выполняется до эффекта, после эффекта или просто сифона). Обратный вызов может изменять буферы данных для случаев, отличных от Сифона. Для Сифона он должен просто изучить, но не изменять содержимое.

При выходе из случаев, отличных от Сифона, флаги должны быть обновлены с помощью флагов StartOfStream и EndOfStream в зависимости от возвращаемых значений метода AudioQueueProcessingTapGetSourceAudio.

Для случаев без сифона касание должно выделить содержимое содержимого AudioBuffer и убедиться, что оно остается действительным до следующего вызова обратного вызова Tap.

Применяется к