Kotlin,MediaPlayer:如何让“播放”按钮始终播放音乐

时间:2018-06-02 07:20:35

标签: kotlin android-mediaplayer android-studio-3.0

我使用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)

0 个答案:

没有答案