Я использую AudioQueue для чтения AudioBuffer, который косвенно считывает аудиовход с микрофона, но, похоже, обратный вызов не работает,
Ниже логика вкратце
1-- Запустить аудиопоток
2 -- Создать аудиоочередь
3 -- настроить AudioQueue,
4 -- Обработка обратного вызова
5 -- Когда пользователь хотел остановить поток аудио,
6 -- Остановить AudioQueue
7 -- Остановить нить
При необходимости предоставит вам код.