kotlin编写音乐列表并通过按钮就行上一首下一首的播放和停止的代码
时间: 2024-02-21 18:02:25 浏览: 20
以下是 Kotlin 编写的音乐列表,并通过按钮进行上一首、下一首的播放和停止的代码示例:
```kotlin
import android.media.MediaPlayer
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.widget.Button
import android.widget.TextView
class MainActivity : AppCompatActivity() {
private lateinit var mediaPlayer: MediaPlayer
private lateinit var musicList: ArrayList<Int>
private var currentIndex = 0
private lateinit var musicNameText: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
musicNameText = findViewById(R.id.musicNameText)
mediaPlayer = MediaPlayer.create(this, musicList[currentIndex])
// 上一首按钮
val prevBtn = findViewById<Button>(R.id.prevBtn)
prevBtn.setOnClickListener {
if (currentIndex > 0) {
currentIndex--
} else {
currentIndex = musicList.size - 1
}
mediaPlayer.stop()
mediaPlayer = MediaPlayer.create(this, musicList[currentIndex])
musicNameText.text = "正在播放:${resources.getResourceEntryName(musicList[currentIndex])}"
mediaPlayer.start()
}
// 下一首按钮
val nextBtn = findViewById<Button>(R.id.nextBtn)
nextBtn.setOnClickListener {
if (currentIndex < musicList.size - 1) {
currentIndex++
} else {
currentIndex = 0
}
mediaPlayer.stop()
mediaPlayer = MediaPlayer.create(this, musicList[currentIndex])
musicNameText.text = "正在播放:${resources.getResourceEntryName(musicList[currentIndex])}"
mediaPlayer.start()
}
// 停止按钮
val stopBtn = findViewById<Button>(R.id.stopBtn)
stopBtn.setOnClickListener {
mediaPlayer.stop()
mediaPlayer = MediaPlayer.create(this, musicList[currentIndex])
musicNameText.text = "已停止播放"
}
}
override fun onDestroy() {
super.onDestroy()
mediaPlayer.release()
}
}
```
在 onCreate 方法中,我们实例化了 MediaPlayer 对象,并为上一首、下一首和停止按钮设置了点击事件,用于控制音乐的播放、暂停和停止。同时,我们使用一个 ArrayList 存储了所有要播放的音乐,并且通过 currentIndex 变量记录了当前正在播放的音乐。
在点击上一首和下一首按钮时,我们首先判断当前是否是第一首或最后一首音乐,然后根据 currentIndex 变量获取下一首或上一首音乐的索引,停止当前音乐的播放,创建并播放下一首或上一首音乐。在更新音乐名称时,我们通过 getResourceEntryName 方法获取资源的名称,以便于显示。
在点击停止按钮时,我们停止当前音乐的播放,并重新创建该音乐的 MediaPlayer 对象,以便于下次播放时重新开始。
以上代码仅供参考,具体实现可能因项目需求而异。