Search code examples
androidmedia-playerandroid-mediaplayerkotlin

Playing only the audio 1, not 2, 3 and 4


   var hello = intent.extras["i"]

    when(hello){

        1-> {
            mediaPlayer = MediaPlayer()
            var i = R.raw.ques1
            mediaPlayer = MediaPlayer.create(this,i)
            mediaPlayer!!.start()
            if (mediaPlayer == null) {
                mediaPlayer!!.stop()
                mediaPlayer!!.release()
                MediaRecorderReady()
            }

        }

        2-> {
            mediaPlayer = MediaPlayer()
            var i = R.raw.ques2
            mediaPlayer ==MediaPlayer.create(this,i)
            mediaPlayer!!.start()

        }

        3->{
            mediaPlayer = MediaPlayer()
            var i = R.raw.ques3
            mediaPlayer ==MediaPlayer.create(this,i)
            mediaPlayer!!.start()

        }

        4->{
            mediaPlayer = MediaPlayer()
            var i = R.raw.ques4
            mediaPlayer ==MediaPlayer.create(this,i)
            mediaPlayer!!.start()

        }

    }

Error //06-08 00:48:38.557 10334-10334/com.example.admin.lastmedpro E/MediaPlayer: start called in state 1 06-08 00:48:38.557 10334-10334/com.example.admin.lastmedpro E/MediaPlayer: error (-38, 0) 06-08 00:48:38.573 10334-10334/com.example.admin.lastmedpro E/MediaPlayer: Should have subtitle controller already set 06-08 00:48:38.573 10334-10334/com.example.admin.lastmedpro E/MediaPlayer: Error (-38,0)


Solution

  •  mediaPlayer ==MediaPlayer.create(this,i)
    

    Why do you use == instead of = ? It's error (exactly 2,3 and 4 case).

    Plus you don't need these four lines:

    mediaPlayer = MediaPlayer()