kotlinでMediaPlayer

javaでいうMediaPlayerがkotlinにもないのかなと思いインターネットの大海を探してみたがそれらしいものがなかった。 もしかしてそのまま使えるんじゃないかと思い書いてみたらコンパイルが通った。

使い方

javaの書き方と同じでこんな感じ

class MainActivity : AppCompatActivty{
 // ここでcreateするとアプリ起動時に落ちる
  var a : MediaPlayer = MediaPlayer()

  override fun onCreate(savedInstanceState: Bundle?){
    ...
    // 再生する
    a.seekTo(0)
    a.start()
  }

  override fun onResume(){
    ...
    // 引数の2つ目で再生したいファイルのidを書く
    a = MediaPlayer.create(this, R.raw.id)
    ...
  }

 override fun onPause(){
    ...
    // ここで解放しないとメモリに残る
    a.release()
    ...
  }

}

Javaと同じように書くから誰も大海に残さなかったんだろうなぁと。 kotlin使いだしてから1週間くらいしか経ってないし、英語の記事読むのつらいから気づくまでに時間がかかった。

追記

javaのMediaPlayerだとwavファイルの再生がおかしくなるみたいだけど、kotlinでは問題なく使えるっぽい。(Xperia Z4で検証)