Как определить уровень окружающего звука на iPhone?
Мне нужно создать детектор громкости звука (децибел). Чтобы уточнить, я не пытаюсь найти громкость, на которой играет iPhone, а вместо этого объем его окружения в децибелах. Как я могу это сделать?
2 ответа
Решение
Используйте один из API Audio Queue или Audio Unit для записи аудио с низкой задержкой, пропустите сэмплы через фильтр DSP, чтобы взвесить спектр для определенного типа или цвета громкости, который вы хотите измерить, затем откалибруйте микрофон на всех конкретных моделях. Устройства iOS, на которых вы хотите запустить детектор от калиброванных источников звука, возможно, в безэховой камере.
Это можно сделать с помощью AVAudioRecorder: http://b2cloud.com.au/tutorial/obtaining-decibels-from-the-ios-microphone