2009-09-17 11 views
23

オーディオを高品質で録音する方法はありますか?Androidオーディオの録音品質を改善しますか?

そして、ユーザーが何か言っている情報をどのように読み取ることができますか?オーディオ録音アプリケーションでは、そのようなインジケーターが表示されます(私はそれに適した名前はわかりません)。

答えて

18

録音とモニタリング用:サウンドレコーダーの操作を使用できます。 ここでは、コードの抜粋です:オープンソースRingdroidではプロジェクトをダウンロードし、入力モニタを備えたオーディオを録音する方法の完璧な作業たとえば

Intent recordIntent = new Intent(
       MediaStore.Audio.Media.RECORD_SOUND_ACTION); 
      startActivityForResult(recordIntent, REQUEST_CODE_RECORD); 

:スクリーンショットでhttps://github.com/google/ringdroid

見て、あなたが'LLモニターを参照してください。

オーディオを高品質にするには、より良いマイクが必要です。内蔵のマイクはそれほど多くをキャプチャすることができます(これはあまり良くありません)。もう一度、ringdroidプロジェクトを見て、そこからいくつかの情報を集めてください。その時点で、サウンドを改善するための正規化と増幅ルーチンを実装することができます。

+0

REQUEST_CODE_RECORDは何ですか? –

+0

onActivityResult()のどのリクエストからどのような結果が返ってくるかを調べるために使用するローカル定数です。 –

30

現在のところ、Androidでのオーディオ品質の低下の大きな原因は、MediaRecorderクラス(AMR-NBコーデック)で使用されているコーデックです。ただし、非圧縮オーディオへのアクセスはAudioRecordクラスを介して取得し、ファイルに直接記録することができます。

Rehearsal Assistant appこれは、非圧縮オーディオをWAVファイルに保存するためのものです。RehearsalAudioRecordクラスのソースコードを参照してください。

RehearsalAudioRecordクラスにはgetMaxAmplitudeメソッドも用意されています。このメソッドを使用して、最後にメソッドを呼び出してからの最大オーディオレベルを検出できます(MediaRecorderもこのメソッドを提供します)。

+0

こんにちは、Stjepan Rajko、リハーサルアシスタントアプリで、私は、org.urbanstew.VolumeEnvelopeViewを見つけることができません、それはどこに教えてくれますか? – pengwang

+0

他のコーデックはAndroidでも利用できますhttp://developer.android.com/reference/android/media/MediaRecorder.AudioEncoder.html#DEFAULT –

関連する問題