如何"android media player" (Kotlin)



情况是这样的-我已经开始学习kotlin和android studio,现在我被这个问题卡住了。我有一个按钮(ImageView(,按下后开始播放音频文件。

class MainActivity : AppCompatActivity() {
private var mp: MediaPlayer? = null
private var bruhSound: MutableList<Int> = mutableListOf(R.raw.bruh)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
supportActionBar?.hide()
bruhBtn.setOnClickListener {
if (mp == null) {
controlSound(bruhSound[0])
bruhBtn.setImageResource(R.drawable.btnpressed)
} else if (mp !== null) {
bruhBtn.setImageResource(R.drawable.btn)
}
}
}
private fun controlSound(id: Int) {
if (mp == null) {
mp = MediaPlayer.create(this, id)
Log.d("MainActivity", "ID: ${mp!!.audioSessionId}")
}
mp?.start()
Log.d("MainActivity", "Duration: ${mp!!.duration / 1000} seconds")
}

当前当我按下";bruhBtn";,图片正在变为";btnpressed";并再次正确返回,但在音频结束后不会更改。我希望它在音频结束时重置。我意识到问题出在我的代码上,我需要在音频完成后更改图像。我该怎么做?

在线之前

mp?.start

添加侦听器

mp?.setOnCompletionListener { //change your button state here }

相关内容

  • 没有找到相关文章

最新更新