#objective-c #core-audio
#objective-c #core-audio
Вопрос:
Запуск функции AudioOutputUnitStart занимает до 1-2 секунд при каждом ее вызове. Я использую AudioOutputUnitStop, чтобы остановить это, есть ли что-то вроде AudioOutputUnitPause, чтобы для первого запуска требовалось столько времени? Или я должен постоянно запускать его и выводить тишину при «остановке» (это кажется неправильным)
Спасибо!
РЕДАКТИРОВАТЬ: звук, который я воспроизводю, довольно короткий (менее секунды, непрерывная трансляция), поэтому я не думаю, что дело в этом, вероятно, именно столько обычно требуется независимо от размера звука.
Ответ №1:
Попробуйте уменьшить размер буфера для ваших аудиоданных. iOS не начнет воспроизведение, пока первый буфер не будет заполнен данными. Если размер этого буфера довольно большой, это может занять 1-2 секунды.
Комментарии:
1. Действительно, это была проблема. Я увеличил размер буфера слишком сильно. Забыл добавить ответ здесь. Однако я выберу ваш ответ, потому что он правильный.
2. Могу я спросить, как вы изменили размер буфера?
3. Метод DeriveBufferSize() содержит в качестве третьего параметра значение для урезания размера буфера. Результирующий размер буфера изменяется вызовом указателя в методе DeriveBufferSize(): DeriveBufferSize(состояние записи. очередь, состояние записи.DataFormat, 0.5, amp; состояние записи.размер буфера байта);