Синхронизация нескольких аудио-очередей
В документе Audio Queue Documentation от Apple утверждается, что он имеет "Дополнительные расширенные функции, поддерживающие запланированное воспроизведение и синхронизацию нескольких аудио-очередей". Тем не менее, нигде в сети не найдено никакой документации.
У меня есть три аудио-очереди, которые требуют синхронного воспроизведения / остановки / паузы / возобновления. Любые указатели приветствуются.
1 ответ
Есть много интригующих функций, которые используют AudioTimeStamp
в AudioQueue
заголовочный файл
Особенно AudioQueueStart
имеет AudioTimeStamp
параметр называется inStartTime
, Может быть, вы могли бы использовать mHostTime
поле для указания временной базы хост-машины, mach_absolute_time
который вы должны быть в состоянии использовать для синхронизации нескольких аудио-очередей.
Тогда я думаю, вы бы использовали inStartTime
аргумент в AudioQueueEnqueueBufferWithParameters
поставить в очередь свои буферы в нужное время. Не уверен, как вы синхронизируете стоп...
Лично я нашел AudioQueues
чтобы генерировать больше душевной боли, чем LPCM, поэтому я бы сам микшировал и выводил три аудиопотока с помощью удаленного аудиоустройства io (или современного аналога), потому что вы получаете синхронизированное воспроизведение, возобновление / остановку, паузу бесплатно.