Синхронизация нескольких аудио-очередей

В документе Audio Queue Documentation от Apple утверждается, что он имеет "Дополнительные расширенные функции, поддерживающие запланированное воспроизведение и синхронизацию нескольких аудио-очередей". Тем не менее, нигде в сети не найдено никакой документации.

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

1 ответ

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

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

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

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

Другие вопросы по тегам