Skip to content

Instantly share code, notes, and snippets.

@kheldiente
Last active May 26, 2018 17:24
Show Gist options
  • Save kheldiente/40cb91d59ff77e5f8815f5aabdac5f0a to your computer and use it in GitHub Desktop.
Save kheldiente/40cb91d59ff77e5f8815f5aabdac5f0a to your computer and use it in GitHub Desktop.
Setup the MediaPlayer class
private var mediaPlayer: MediaPlayer? = null
override fun onCreate(savedInstanceState: Bundle?) {
... Other stuff to initalize
setupMediaPlayer()
startMediaPlayer()
}
override fun onResume() {
super.onResume()
startMediaPlayer()
}
override fun onPause() {
super.onPause()
stopMediaPlayer()
}
private fun setupMediaPlayer() {
mediaPlayer = MediaPlayer.create(this, R.raw.htmlthesong)
mediaPlayer?.isLooping = true // Loop audio
}
private fun startMediaPlayer() {
mediaPlayer?.isPlaying?.let {
//Execute if mediaPlayer is not null
if(!it)
mediaPlayer?.start()
} ?: run {
// Execute if null
setupMediaPlayer()
startMediaPlayer()
}
}
private fun stopMediaPlayer() {
mediaPlayer?.isPlaying?.let {
if(it)
mediaPlayer?.stop()
mediaPlayer?.release()
mediaPlayer = null
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment