MediaPlayerUtil,一个避免内存泄漏的MediaPlayer工具类
Crazy Coding
import android.app.Activity
import android.media.MediaPlayer
import com.sq.module.R
/**
* @ClassName MediaPlayerUtil
* @Description TODO
* @Author Kolin Zhao / Mozhimen
* @Date 2021/12/6 14:25
* @Version 1.0
*/
object MediaPlayerUtil {
private var audioPlayer: MediaPlayer? = null
private val completionListener =
MediaPlayer.OnCompletionListener {
releaseMediaPlayer()
}
private fun releaseMediaPlayer() {
if (audioPlayer != null) {
audioPlayer!!.release()
audioPlayer = null
}
}
fun audioPlayer(activity: Activity, resId: Int = R.raw.checkin) {
if (audioPlayer == null) {
audioPlayer = MediaPlayer.create(activity, resId)
}
audioPlayer!!.setOnCompletionListener(completionListener)
audioPlayer!!.start()
}
}