[英]Play and pause audio on same button Kotlin
我嘗試在我的 recyclerView 適配器中的同一個按鈕上播放和暫停音頻文件。 但是,如果我按下“playbtn”,它只會播放而不是暫停。
這是我的 function:
fun playmusic(position: Int) {
val post = posts[position]
mp = MediaPlayer()
mp.setDataSource(post.audioUrl)
mp.prepareAsync()
mp.setOnPreparedListener { player ->
if (player.isPlaying)
player.pause()
else{
player.start()
}
}
}
這是我的 clickListner:
playbtn.setOnClickListener {
playmusic(postPosistion)
Toast.makeText(context, "You play ${postPosistion + 1}", Toast.LENGTH_SHORT).show()
}
每個View
object 都有一個名為setTag
/ getTag
的方法,用於存儲有關視圖 state 的小信息。
在“播放”按鈕的點擊偵聽器中,您可以使用自定義 state 設置tag
,它可以是任何東西,integer,字符串,甚至是密封的 class 狀態。 之后就是簡單的if-else邏輯,在你的if條件下,檢查getTag as T(the type of object you previously-stored)
,匹配播放state,然后暫停播放。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.