2011-12-29 10 views
0

私は騒音レベルメーター(連絡先または喉のマイクを着用している)を組み込んだアプリケーションを作成しています。 私はAudioQueueを使用し、0と1iPhoneのオーディオ入力ゲイン/感度を調整する

私の問題の間の値である値kAudioQueueProperty_CurrentLevelMeterは、通常の使用レベルで、kAudioQueueProperty_CurrentLevelMeter値が既に1.0でピークに達しているということです取得する(非推奨)カスタムクラスSCListenerを使用しています私が望んでいるのはをダンプするか、コンタクトマイクの入力感度を下げて、叫び声や本当に大きな叫び声が通常の会話の代わりに1.0として登録されるようにします。

私が検索したところ、オーディオユニットに関する議論がありましたが、私が理解できたドキュメントや例は見つかりませんでした。

私のアプリケーションで感度やゲイン、入力ラインを減らす方法はありますか?どんな助けでも大歓迎です!

答えて

0

現在、iOSデバイスのマイク入力ゲインを手動で調整するパブリックAPIはありません。

また、Audio QueueまたはRemoteIO Audio Unitを設定し、コールバックバッファで見つけたPCMサンプルを分析し、独自の振幅エンベロープ(またはスペクトラム加重振幅など)とスケールを計算することもできます。しかし、それはマイク入力サンプリング後です。

+0

これは、kAudioQueueProperty_CurrentLevelMeterまたはAVAudioRecorderのpeakValueを使用してmaxより大きな入力音量を測定することができますか、それとも実質的に同じですか? (つまり、PCMサンプルを分析する前に入力レベルが既に最大になっていますか?) – chrisgilpin

関連する問題