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

音声を取り扱う

目次

  1. 音声を再生する
  2. 音声を再生するプログラム
  3. プログラムの解説
  4. さいごに

音声を再生する

この章ではマルチメディアに関する昨日について取り扱っていきます。
Androidでは音声・画像・動画などのマルチメディアデータを取り扱うことが出来ます。
まずは、音声について学習していきましょう。
音声ファイルには主なものとして

  • mp3
  • wav
  • wma

などがあります。
そこで、今回はsound.mp3というデータを作成しプロジェクトにリソースとして追加します。
音声ファイルを扱うには、まず「res」フォルダに「raw」フォルダを作成します。
次に、作成したフォルダに再生させたい音声をコピー&ペーストして追加します。
フォルダを作成したイメージはこの様になります。
そして、追加する音源は
こちらを使うかご自分で用意してください。
Download-サンプル音源-
この音源を使う場合は「R.raw.sound」というリソース名で使用することが出来ます。

音声を再生するプログラム

では、早速以下のプログラムを実行してください。

実行結果は以下のようになります。

プログラムの解説

音声の再生にはMediaPlayerクラスを使用します。
まずは音声リソースを指定して、オブジェクトを取得します。
実際に再生をさせるにはprepare()メソッドを呼び出し音声を準備して、start()メソッドを呼び出し再生を開始します。
再生後、pause()メソッドで一時停止をし、seekTo()メソッドで位置指定(本プログラムの場合は0)をして音声の先頭に戻ります。
最後に、release()メソッドを呼び出して音声を扱う資源が開放されるようにしておきます。
画面が隠れたら資源が開放されるようにアクティビティのonPause()メソッドが呼び出されるタイミングで開放されるように設定してます。
本プログラムには「再生」「一時停止」「停止」ボタンが実装されており、onClick()メソッドの中でボタンの有効・無効を変更しています。

さいごに

近年のAndroid端末ではオンライン上の音源でない限りはprepare()メソッドが必要ないことが多いです。
prepare()メソッドは端末に音声を先読みさせるメソッドなので、今の性能の端末であれば不要と思います。
ですが、念の為prepare()メソッドを入れておくことにしました。
余裕があればprepare()メソッドを抜いたプログラムでアプリを実行してみてください。

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