我使用MediaPlayer类创建了一个Fragment / Activity。它有一个“播放音乐”按钮。单击时,它会播放音乐而不会停止。 我想要一个“播放音乐”按钮,当用户点击按钮时,它始终从头开始播放音乐。 我正在使用 KOTLIN 。
我使用了两种不同类型的代码 -
1,当我在我的片段活动中使用它时, 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()
}
}
})
}
}
第二,当我使用它时,它没有显示任何错误但没有工作 -
button.setOnClickListener {
val mp = MediaPlayer.create(getActivity(), R.raw.sound1)