Apple собрала для этого отличные рамки! Платформа AVFoundation и платформа CoreAudio будут для вас наиболее полезными.
Для получения информации об уровне звука AVAudioRecorder
полезно. Хотя он предназначен для использования в записи, он также предоставляет данные об уровнях для микрофона. Это было бы полезно для деформации вашей базы изображений в зависимости от того, насколько громко пользователь кричит на свой телефон;)
Вот документация Apple для AVAudioRecorder
: Справочник по классам AVAudioRecorder
Немного подробнее:
// You will need an AVAudioRecorder object
AVAudioRecorder *myRecorderObject;
// To be able to get levels data from the microphone you need
// to enable metering for your recorder object
[myRecorderObject prepareToRecord];
myRecorderObject.meteringEnabled=YES;
// Now you can poll the microphone to get some levels data
float peakPower = [myRecorderObject peakPowerForChannel:0];
float averagePower = [myRecorderObject averagePowerForChannel:0];
Если вы хотите увидеть отличный пример использования объекта AVAudioRecorder для получения данных уровней, ознакомьтесь с этим учебным пособием .
Что касается деформации вашего изображения, это будет зависеть от библиотеки изображений. Есть из чего выбирать, и есть отличные из яблок. Я ничего не знаю, хотя, возможно, кто-то другой ответит.
Удачи!