1

私はVOICE_COMMUNICATION & MICモードを使用して、アンドロイドで録音を録音するためにメディアレコーダーを使用しています。MediaRecorder.AudioSourceのVOICE_COMMUNICATIONとMICの差

RECORD_SOURCE = MediaRecorder.AudioSource.VOICE_COMMUNICATION; //RECORD_SOURCE = MediaRecorder.AudioSource.MIC; iAudioRecorder = new AudioRecord(RECORD_SOURCE, NATIVE_SAMPLE_RATE, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT, RECORD_BUF_UNIT);

私はMIC録音した音声データは、ゲインはるかに大きい一部のデバイスのVOICE_COMMUNICATION(約2/3倍)よりもを持っていることがわかりました。 VOICE_COMMUNICATIONによってキャプチャされた背景音楽は、MICほどではありません。

この2つの録音モードで音質(ゲイン、応答性など)が異なるのはなぜですか?

答えて

1

MICVOICE_COMMUNICATIONためAndroid Developer Reference、いくつか前処理ようなエコーキャンセルによれば、雑音抑圧は今度は、データ上でいくつかの減衰を引き起こし、VOICE_COMMUNICATIONを使用してキャプチャされたオーディオに適用されます。さらに、このような前処理を行うと、この減衰により、振幅の低いオーディオ信号がさらに弱くなる。だから私たちは、バックグラウンドのオーディオが、あまりにも低すぎると、ある種のデバイスのために消え去ってしまったように感じます。

別のポイントはデバイスごとに特性が異なります。 this linkからは、デバイスメーカーのみに依存しており、どのモードや方法でどの前処理が動作するかは自由に決めることができます。

+1

前処理を 'instance.setEnabled(false);'で手動で無効にしましたが、一部のデバイスでは機能しません。 –

+1

waltonプリモのような低設定デバイスは、 'MIC'と' VOICE_COMMUNICATION'の両方でほぼ同じ性能(ゲイン、応答性など)を与えます。しかし、samsungのような高度な設定デバイスは、 'MIC 'よりも' VOICE_COMMUNICATION'のための遠隔音楽の低ゲイン&低応答性のような違いを示しています。 –

+0

'instance.setEnabled(false);'は動作しません。それでは、どのように前処理を行うことができますか? –

関連する問題