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
Contenidos
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
Hola soy Alex Céspedes fundador de ANDROFAST, 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!