MediaPlayer Class in Android (original) (raw)

Last Updated : 23 Jul, 2025

**MediaPlayer Class in Android is used to play media files. Those are Audio and Video files. It can also be used to play audio or video streams over the network. So in this article, the things discussed are:

**State Diagram of the MediaPlayer Class

State Diagram of the MediaPlayer class

State Diagram of the MediaPlayer class

State Diagram of the MediaPlayer class

**Steps to create a simple MediaPlayer in Android

**Step 1: Create an empty activity project

**Step 2: Create a raw resource folder

**Step 3: Working with the activity_main.xml file

<TextView
    android:id="@+id/headingText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="32dp"
    android:text="MEDIA PLAYER"
    android:textSize="18sp"
    android:textStyle="bold" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/headingText"
    android:layout_marginTop="16dp"
    android:gravity="center_horizontal">

    <Button
        android:id="@+id/stopButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:backgroundTint="@color/colorPrimary"
        android:text="STOP"
        android:textColor="@android:color/white" />

    <Button
        android:id="@+id/playButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:backgroundTint="@color/colorPrimary"
        android:text="PLAY"
        android:textColor="@android:color/white" />

    <Button
        android:id="@+id/pauseButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:backgroundTint="@color/colorPrimary"
        android:text="PAUSE"
        android:textColor="@android:color/white" />

</LinearLayout>

`

**Output UI:

Mediaplayer Class in Android

**Step 4: Working with the MainActivity.kt file

import android.media.MediaPlayer import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    // create an instance of mediplayer for audio playback
    val mediaPlayer: MediaPlayer = MediaPlayer.create(applicationContext, R.raw.music)

    // register all the buttons using their appropriate IDs
    val bPlay: Button = findViewById(R.id.playButton)
    val bPause: Button = findViewById(R.id.pauseButton)
    val bStop: Button = findViewById(R.id.stopButton)

    // handle the start button to
      // start the audio playback
    bPlay.setOnClickListener {
        // start method is used to start
          // playing the audio file
        mediaPlayer.start()
    }

    // handle the pause button to put the
    // MediaPlayer instance at the Pause state
    bPause.setOnClickListener {
        // pause() method can be used to 
        // pause the mediaplyer instance
        mediaPlayer.pause()
    }

    // handle the stop button to stop playing 
    // and prepare the mediaplayer instance 
    // for the next instance of play
    bStop.setOnClickListener {
        // stop() method is used to completely 
        // stop playing the mediaplayer instance
        mediaPlayer.stop()

        // after stopping the mediaplayer instance
        // it is again need to be prepared
        // for the next instance of playback
        mediaPlayer.prepare()
    }
}

}

`

**Output: Run on Emulator