Androidアプリの開発をしよう04 マルチメディア②

録音・再生をする

実機が必要です!

目次

  1. 音声を記録する
  2. マイクを使うときの注意
  3. もう一つ手を加える
  4. 音声を記録するアプリ
  5. プログラムの解説
  6. さいごに

音声を記録する

今度はAndroid端末に搭載されているマイク端末を使用して音声を録音してみましょう。
記録した音声は内部記憶装置に記憶されるようにします。
なお、今回のアプリはお使いのPCによっては実行ができません。
マイクの有無やエミュレータがPCのマイクに対応しているか否かが関係しています。
ですので、今回のアプリは実機を使って試してください。

マイクを使うときの注意

音声を録音するときにはパーミッション(permission)と呼ばれる指定が必要です。
パーミッションはプロジェクトフォルダ内のアプリ設定ファイルAndroidManifest.xmlで設定します。
場所はここです。
このファイルを選択したらの下にパーミッションを追記します。

実際に記入をするとこのような感じになります。
<uses-permission android:name=”android.permission.RECORD_AUDIO”/>
はマイクを利用するためのパーミッションで、
<uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE”/>
は記憶装置を使うパーミッションになります。
先程からパーミッションを何回も指定してますがパーミッションは「許可」と捉えてもらって結構です。
すなわち、マイクを使う許可、記憶装置を使う許可を取っていたわけですね。

もう一つ手を加える

実はパーミッションの他にも指定することがあります。
build.gradleの変更です。
build.gradleは画像の位置にあります。
これを変更します。
ここの「targetSdkVersion」が23以上の場合は「22」にしてください。
これは、対象とするAndroidのバージョンになります。
Androidのバージョンが23以上になると、特別な許可が必要となります。
この特別な許可を取る方法も考えましたが、今回はマルチメディアが主な学習内容なので、特別な設定をしなくて済む方法を選択しました。

音声を記録するアプリ

説明も長くなりましたので、以下のプログラムを実行してください。

実機が必要なため、実行結果は割愛します。

プログラムの解説

    大まかな流れ

    まず、アプリが実行されると「録音」「再生」ボタンが押せるようになっています。
    録音ボタンを押すと「停止」ボタンのみが使用できるようになります。
    「停止」ボタンを押すと録音が停止され、「録音」「再生」ボタンが押せるようになります。
    「再生」ボタンは録音がされていれば全てのボタンが押せないようにし、録音された音声を再生、終了後に元の状態に戻します。

    録音までの動き

    録音を開始するにはオブジェクトを生成してから以下の順序で設定を行います。
    オーディオソースの設定→出力ファイルの設定→エンコーダの設定
    上記の設定を行った上でprepare()メソッドを呼び出し、録音を開始(start()メソッドの呼び出し)をします。
    録音の停止にはstop()メソッドかreset()メソッドを使います。
    MediaPlayer・MediaRecorderクラスのメソッドを呼び出す順序には決まりがあり、決まりを守らないと起動できませんので注意が必要です。

さいごに

実機が必要なはじめてのアプリですがいかがだったでしょうか?
プログラムや、設定することも多く大変だったかもしれません。
ノートPCだとエミュレータでも動く場合がありますので試してみるのも良いでしょう。

このサイトをフォローする!