【Android】MediaPlayerUtil(一个避免内存泄漏的MediaPlayer工具类)

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()
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_42473228/article/details/121750834