音声を使って楽しげなものを作りたい。簡単な録音

前回にバッファーを利用して、録音する方法を勉強しましたが、

音声を使って楽しげなものを作りたい。録音をする。

今回は簡単に録音をする方法を勉強してみます。

 

MediaRecorderクラスを利用します。

MediaRecorder mediaRecorder = new MediaRecorder();

最初に入力のソースを設定します。

mediaRecorder.serAudioSource(MediaRecorder.AudioSource.MIC);

Android developpers

に記載されていますが、基本的に通話中の音声を取得するかマイクを利用する形です。今回はマイクを選択します。

次に出力のフォーマットを設定します。

mediaRecorder.serOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);

でここで指定できるフォーマットの形は以下になります。

AMR_NB         AMR NB file format
AMR_WB         AMR WB file format
DEFAULT     
MPEG_4         MPEG4 media file format
RAW_AMR     AMR NB file format
THREE_GPP     3GPP media file format

上記の形式ですが、確認してみます。

AMR_NB:AMRは音声に特化したもので、圧縮率は高いが音質は劣る。

AMR_WB :AMRを発展させた形式でマルチレートの広帯域音声符号化方式

MPEG_4:mpegは動画などにも応用できる形式割と汎用性の高い形式。

3GPP:3GPPファイルフォーマットは、主にMMS(日本でいう写メールやiショットに相当)で動画や音声をメールで送信するために利用される。

ですが、一般的には、3GPPを用いる場合が多いようです。メール送信を視野に入れた場合にも有用な形式なので、よほどの理由がなければ3GPPが推奨です。

 

次の音声のエンコーダーを設定します。

mediaRecorder.setAudioEncoder(MediaRecoder.AudioEncoder.DEFAULT)

Android developpersで記載されているのは以下の形式です。

AAC         AAC audio codec
AMR_NB         AMR (Narrowband) audio codec
AMR_WB         AMR (Wideband) audio codec
DEFAULT

特にDEFAULTでも問題ないと思いますが、音質に疑問が出たらエンコーダーをいじるのも手だと思います。

 

上記の設定をしたら画像を保存するパスを指定します。

mediaRecorder.setOutputPath(***/***.3gp)

かなり割愛してしまいましたが、必要に応じて、ディレクトリを作成したりする必要があります。

 

ここまでできれば残りは簡単な操作のみです。

準備をします。
mediaRecorder.prepare();
開始をします。
mediaRecorder.start();
停止をします。
mediaRecorder.stop();
開放をします。
mediaRecorder.release();

データを作成した後に他のアプリケーションで利用する場合にはandroidのデータベースにアクセスする必要もありそうです。

 

また、マニフェストには下記の2つの設定が必要になります。

android.permission.RECORD_AUDIO
android.permission.WRITE_EXTERNAL_STORAGE

前後の記事

前の記事:

次の記事:

関連の記事

コメントの投稿

  • サイト内検索

新作アプリの紹介

関連サイトの紹介

アンドロイドアプリ開発TIPS
きぐるみカメラ
ふらいぱん
アンドロイドのデザイン集
Page top↑