Como reproducir formato pls en android studio

Hola amigos, saludos cordiales recibí algunos correos y mensaje por las redes sociales sobre como reproducir streaming en formatos diferentes al mp3, por ejemplo el pls me refiero al ejemplo que ya vimos hace tiempo como reproducir una radio online en android studio.

Aclaremos algo, hay muchas radios online por Internet, cada una funciona con un formato diferente, por ejemplo mp3,pls,wav,ogg etc.

Bien entonces primero debes fijarte el formato, para este ejercicio usaremos la siguiente radio online con el formato pls https://user.radioboss.fm:2199/start/demostream/

Como reproducir formato pls en android studio

 

Paso 1: Librerías

Amigos míos android no es mágico si quiere que funcione algún formato de reproducción de audio tienes que utilizar alguna librería compatible y para este ejercicio usaremos el siguiente, el cual debe ser agregado dentro del build.gradle

compile 'saschpe.android:pls-parser:1.0.5'

PASO 2: Permisos

Nuestra radio esta en internet , entonces hay que dar permiso a nuestra aplicación para que tenga acceso a Internet, en nuestro AndroidManifest.

<uses-permission android:name="android.permission.INTERNET"/>

PASO 3: Interfaces

Bueno necesitamos dos botones ya saben para iniciar y detener la radio, les voy dejar en modo texto, tengo la esperanza que lo harás de cero y no iras al final solo a descargar.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.androidmorefast.moden.appmusicaonline.MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btnStop"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:background="@drawable/stop"
        android:layout_gravity="right" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btnPlay"
        android:layout_alignTop="@+id/btnStop"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:background="@drawable/play"
        android:layout_gravity="left" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:background="@drawable/logo"
        android:layout_gravity="center"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true" />
</RelativeLayout>

 

PASO 4: Código

A continuación te dejo el código del MainActivity que hará la magia

import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import java.io.IOException;

public class MainActivity extends AppCompatActivity {

    Button button_stop;
    Button button_play;
    //private String STREAM_URL ="http://radioscoop.hu:80/live.mp3";
    private String STREAM_URL ="http://s2.radioboss.fm:8008/stream";
    private MediaPlayer mPlayer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button_stop=(Button) findViewById(R.id.btnStop);
        button_play=(Button) findViewById(R.id.btnPlay);

        mPlayer=new MediaPlayer();

        button_play.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){

                try{
                    mPlayer.reset();
                    mPlayer.setDataSource(STREAM_URL);
                    mPlayer.prepareAsync();

                    mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener(){
                        @Override
                        public void onPrepared(MediaPlayer mp){
                            mp.start();

                        }
                    });

                } catch (IOException e){
                    e.printStackTrace();

                }

            }

        });

        button_stop.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                mPlayer.stop();

            }

        });
    }
}

Y eso fue todo seguramente estarás escuchando música en este momento, a continuación te dejo el enlace para que puedas descargar el ejercicio completo. Reproductor PLS

Programo algunas cosas por diversión, me gusta aprender cosas nuevas y estoy pendiente de todo lo que tenga que ver con tecnología. Este blog lo cree para todas las personas que tengan dificultades en la programación, para ser sincero nunca fui bueno y reprobé algunos cursos de programación, pero mis ganas de aprender pudieron más. SI YO PUEDO TU PUEDES ANIMO!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *