Сначала несколько определений:
- A frame - это одна выборка аудиоданных, которая представляет значение сигнала для одного канала в данный момент времени.
- A package - это группа кадров, обычно подразумеваемая как набор кадров для всех каналов в данный момент времени.
- A буфер - это группа кадров, доставленных для обработки.
Не следует путать пакет и кадр, и на самом деле mFramesPerPacket
обычно следует установить на 1. Это не означает, что метод визуализации вашего AudioUnit будет получать обратный вызов каждый кадр. Если вы хотите контролировать, как часто это происходит, вам нужно установить для свойства kAudioSessionProperty_PreferredHardwareIOBufferDuration
предпочтительный размер буфера. Установка этого свойства не гарантирует вам точный размер буфера, который вы запрашиваете, но система попытается дать вам что-то близкое к этому значению.