Androidでは、音声を各種フォーマットで録音することができます。
録音に使えるクラスはいくつかあります。
ここのページがよくまとまっているかと。
これらのクラスについて調べてみると、さまざまなデータフォーマットでの録音に対応しているのですが、MP3に対応しているクラスは存在しません。
では、Android端末で音声をMP3フォーマットで保存したいときはどうするかというと、LAMEを使います。
LAME。懐かしい響き。
MP3によるリッピングが流行ったころに、お世話になった方もいらっしゃるのではないでしょうか。
次のサイトでは、AndroidでLAMEを使用するサンプルが公開されています。
このサンプルを流用して、独自のプログラムを作成するときに気をつけなければならないことは、次のとおり。
- libmp3lame.soは、プロジェクトルートからlibs/armeabi/libmp3lame.soとして保存しなければならない。
- SimpleLame.javaやRecMicToMp3.javaのパッケージはそれぞれ、com.uraroji.garage.android.lameとcom.uraroji.garage.android.mp3recvoiceでなければならない。
コンパイルの方法は、サンプルのドキュメントに示されています。
なお、MP3(LAME)についてはこんな話もあるので、知っておいて損はないかと。