Мне удается заставить MediaPlayer в kotlin воспроизводить mp3-файл из папки Raw, и я могу воспроизвести другой файл, используя другой объект медиаплеера.Я хочу иметь возможность менять дорожку в одном и том же объекте MediaPlayer.
Я прочитал немало учебников, как это сделать, но никто не покажет, как создать медиаплеер, в котором запущено несколько дорожек.или как поменять песни без создания нового плеера.Это делает первый медиаплеер и новый проигрыватель одновременно воспроизводящими звук.
package c.name.appname
import android.media.MediaPlayer
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
private lateinit var mp: MediaPlayer
private lateinit var mp2: MediaPlayer
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val button1 = findViewById(R.id.button297) as Button
val button2 = findViewById(R.id.button248) as Button
val mp = MediaPlayer.create(this, R.raw.song1)
val mp2 = MediaPlayer.create(this, R.raw.song2)
button1.setOnClickListener {
if (mp.isPlaying()) {
mp.pause()
} else {
mp.start()
if(mp2.isPlaying())mp2.pause()
}
}
button2.setOnClickListener {
if (mp2.isPlaying()) {
mp2.pause()
} else {
mp2.start()
if(mp.isPlaying()) mp.pause()
}
}
}
}
Приведенный выше код работает.Но это выглядит глупо.Я хочу иметь возможность создавать объект медиаплеера со звуком, который я могу изменить, или список песен.и в последнем случае используйте mp.selectTrack (int).