新人研修の記録8

こんにちは、Tamamoです。
前回はMediaPlayerを使って音声再生を紹介しました。

今回は、MediaRecorderクラスを使って録音する方法を紹介します。

録音は再生と違い少々複雑です。
まず、マイクを使って録音するにはパーミッションの設定が必要です。

manifestsに以下の一文を記述します。

<uses-permission android:name=”android.permission.RECORD_AUDIO”/>

ただ、Android 6.0以降はこれだけではマイクによる録音はできないため、
別途パーミッション要求が必要ですが、今回は割愛します。

次に録音のサンプルコードを以下に示します。
実は以下のコードのコメントにある①~⑥の順番には意味があり、
この通りにメソッドを呼び出す必要があります。
もし順番が逆になっていたりすると、たちまち動作しませんのでご注意ください。

private String filePath;
private MediaRecorder mediaRecorder;
    :
    :
//パス(ローカルストレージに書き込む)
filePath = this.getFilesDir() + “/voice.mp4”;
    :
    :
//録音
public void startRecording(){
    try{

        mediaRecorder = new MediaRecorder();
        //①マイクからの音声を録音する
        mediarecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        //②ファイルへの出力フォーマット(ここではMPEG4形式)
        mediarecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
        //③音声のエンコーダー
        mediarecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
        //④ファイルの保存先を指定
        mediarecorder.setOutputFile(filePath);
        //⑤録音の準備をする
        mediarecorder.prepare();
        //⑥録音開始
        mediarecorder.start();
    } catch(Exception e){
        e.printStackTrace();
    }
}

これで録音できるようになります。
録音データはここではローカルストレージに記録されます。
少し複雑でしたがメソッドを呼び出す順番さえ守れば、録音は大丈夫そうですね。

火曜日担当:Tamamo




アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム