2016-06-28 12 views
1

Документация Audio Queue от Apple утверждает, что «дополнительные расширенные функции поддерживают плановое воспроизведение и синхронизацию нескольких звуковых очередей». Однако ни одна документация для этого не найдена нигде в сети.Синхронизация нескольких очередей аудиосигналов

У меня есть три очереди аудио, которые требуют синхронного воспроизведения/остановки/паузы/возобновления. Любые указатели приветствуются.

ответ

1

Есть много интригующих функций, которые используют AudioTimeStamp в файле заголовка AudioQueue.

В частности, AudioQueueStart имеет параметр AudioTimeStamp под названием inStartTime. Возможно, вы можете использовать поле mHostTime, чтобы указать временную базу хоста, mach_absolute_time, которую вы должны использовать для синхронизации нескольких очередей аудио.

Тогда, я думаю, вы использовали бы аргумент inStartTime в AudioQueueEnqueueBufferWithParameters, чтобы поставить очередь буферов в нужное время. Не знаете, как бы вы синхронизировали стоп ...

Лично я нашел AudioQueues, чтобы генерировать больше сердечной боли, чем LPCM, поэтому я сам смешивал и выводил три аудиопотока с помощью удаленного io аудиоустройства (или современный эквивалент), потому что вы получаете синхронизированную игру, возобновление/остановку, паузу бесплатно.