Я пытаюсь сделать простой измеритель громкости для iPhone. Я хочу, чтобы громкость отображалась в дБ. При использовании этого турориала я получаю измерения только до 78 дБ. Я читал, что это потому, что спектр dBFS для 16-битных аудиозаписей составляет всего 96 дБ.
Я попытался изменить этот кусок кода в функции init:
dataFormat.mSampleRate = 44100.0f;
dataFormat.mFormatID = kAudioFormatLinearPCM;
dataFormat.mFramesPerPacket = 1;
dataFormat.mChannelsPerFrame = 1;
dataFormat.mBytesPerFrame = 2;
dataFormat.mBytesPerPacket = 2;
dataFormat.mBitsPerChannel = 16;
dataFormat.mReserved = 0;
Я изменил значение mBitsPerChannel, надеясь увеличить битовое значение записи.
dataFormat.mBitsPerChannel = 32;
Если для этой переменной задано значение 32, функция "mAveragePower" возвращает только 0.
Итак, как я могу измерить больше децибел? Весь мой код практически такой же, как в уроке, который я выложил выше.
Заранее спасибо,
Томас