23 - Reproducción de audio (archivo contenido en la aplicación)

Veremos los pasos para reproducir un archivo mp3 (otros formatos soportados por Android son: Ogg, Wav)

Problema:

Primero crear un nuevo proyecto llamado Proyecto025.

Disponer dos botones con las etiquetas: Gato y León, luego cuando se presione reproducir el archivo de audio respectivo. Los archivos de sonidos almacenarlos en la misma aplicación.

Luego de crear el proyecto procedemos a crear una carpeta llamada raw que dependa de la carpeta res, almacenamos los dos archivos mp3 en dicha carpeta (para crear la carpeta presionamos el botón derecho del mouse sobre la carpeta res y seleccionamos New -> Directory):

play mp3 android

Luego copiamos los archivos a la carpeta (en Android Studio funciona el Copy/Paste desde el administrador de archivos del sistema operativo Windows):

play mp3 android

Creamos una interfaz con dos botones e inicializamos las propiedades text:

play mp3 android

El código fuente en Kotlin es:

package com.tutorialesprogramacionya.proyecto025

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)
        val boton1=findViewById<Button>(R.id.boton1)
        val boton2=findViewById<Button>(R.id.boton2)
        boton1.setOnClickListener {
            val mp = MediaPlayer.create(this, R.raw.gato)
            mp.start()
        }

        boton2.setOnClickListener {
            val mp = MediaPlayer.create(this, R.raw.leon)
            mp.start()
        }
    }
}

Cuando copiamos los archivos mp3 se genera luego en la clase R la referencia a los dos archivos y posteriormente los podemos rescatar cuando creamos un objeto de la clase MediaPlayer:

            val mp = MediaPlayer.create(this, R.raw.gato)

Seguidamente llamamos al método start:

            mp.start()

Este proyecto lo puede descargar en un zip desde este enlace: proyecto025.zip