Я создал Fragment / Activity, используя класс MediaPlayer.Имеет кнопку «Воспроизведение музыки».При нажатии проигрывается музыка без остановки.Мне нужна кнопка «Воспроизведение музыки», которая всегда играет музыку с самого начала, когда пользователь нажимает кнопку.Я использую KOTLIN .
Я использовал два разных типа кода -
1-й, когда я использовал его в Моем фрагменте Activity, getAssets () показала ошибка, и она не работает -
class TEST : Fragment() {
val mp = MediaPlayer()
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.test, null)
}
override fun onResume() {
super.onResume()
(activity as MainActivity)
.setActionBarTitle("TEST")
but.setOnClickListener(object : View.OnClickListener {
override fun onClick(v: View) {
if (mp.isPlaying) {
mp.stop()
}
try {
mp.reset()
val afd: AssetFileDescriptor
afd = getAssets().openFd("AudioFile.mp3")
mp.setDataSource(afd.fileDescriptor, afd.startOffset, afd.length)
mp.prepare()
mp.start()
} catch (e: IllegalStateException) {
e.printStackTrace()
} catch (e: IOException) {
e.printStackTrace()
}
}
})
}
}
2-й, когда я использовал его, он не показал никаких ошибок, но не работает-
button.setOnClickListener {
val mp = MediaPlayer.create(getActivity(), R.raw.sound1)