Рассмотрим пример aurioTouch , предоставленный Apple. Я хотел смоделировать длительную обработку записанного аудио и изменил семпл, введя задержку в 0,1 секунды в методе обратного вызова рендеринга: PerformThru
. Это приводит к искажению звука и статического шума, воспроизводимого через динамик или наушники iPhone. Шум слышен даже тогда, когда в приложении включена кнопка отключения звука, которая, по сути, выводит тишину на выходную шину AudioUnit.
Кто-нибудь может дать подробное объяснение того, что происходит на низком уровне, когда функция обратного вызова хоста (в нашем примере это PerformThru
) не возвращается своевременно?
Почему функция обратного вызова, которая работает плохо, заставляет iPhone воспроизводить шум?
Я понимаю, что код в функции обратного вызова должен быть высоко оптимизирован. Тем не менее, я хотел бы знать, возможно ли предотвратить шум.
Можно ли изменить сэмпл aurioTouch, чтобы AudioUnit выполнял только запись и полностью выключал воспроизведение?