iPhone用のシンプルな音量計を作ろうとしています。音量をdBで表示したい。この turorialを使用すると、最大 78 dB の測定しか得られません。これは、16 ビット オーディオ録音の dBFS スペクトルがわずか 96 dB であるためだと読んだことがあります。
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 のみを返します。
では、どうすればより多くのデシベルを測定できますか? 私のコードはすべて、上に投稿したチュートリアルと実質的に同じです。
前もって感謝します、トーマス