如何从res> raw播放不同的声音文件

问题描述 投票:0回答:1

我有下课

private lateinit var mp: MediaPlayer

我拥有的覆盖下

mp = MediaPlayer.create(this, R.raw.a1)

功能buttonPlayClick也是buttonPlay

fun buttonPlayClick(v: View)
{
    if (mp.isPlaying)
    {
        mp.pause()
        buttonPlay.text = "PLAY"

} else {
    mp.start()
        buttonPlay.text = "PAUSE"
    }
}

我正在使用下面的代码指向声音文件

mp = MediaPlayer.create(this, R.raw.a1)

当前,该命令指向res> raw中名为a1的声音文件

我正在一点一点地学习Kotlin,并且尝试使用下面的命令播放不同的声音文件(将a1更改为x)

mp = MediaPlayer.create(this, R.raw.x)

我希望在应用程序中的某个点上,我可以定义x = a1a2a3来播放不同的声音文件,但它不能那样工作。我还注意到,声音文件不能只是整数值。声音文件非常短(3到10秒)

感谢所有帮助!

android kotlin android-music-player
1个回答
0
投票

您可以执行以下操作:

var a1 = R.raw.a1
var a2 = R.raw.a2
var a3 = R.raw.a3

或者您也可以使用JAVA这样:

int setMusic(String mMusic){
  return this.getResources().getIdentifier(mMusic, "raw", this.getPackageName());
}

并这样称呼它:

mp = MediaPlayer.create(this, setMusic("a1"))

mp = MediaPlayer.create(this, setMusic("a2"))

© www.soinside.com 2019 - 2024. All rights reserved.