2011-06-14 20 views
5

Actualmente tengo un reproductor multimedia que está transmitiendo un archivo mp3. Cuando el archivo está listo, ¿cuál es el código para que vaya al siguiente url/mp3?Media Player stream url, luego jugar siguiente url

Y también, ¿hay código para obtener el nombre del archivo y mostrarlo? ¿Cómo voy a hacer eso?

gracias

EDITAR

ver mi código de abajo:

package com.example.m3uplayer; 

import android.app.Activity; 
import android.media.AudioManager; 
import android.media.MediaPlayer; 
import android.net.Uri; 
import android.os.Bundle; 
import android.media.MediaPlayer.OnCompletionListener; 

public class m3uPlayer extends Activity implements MediaPlayer.OnCompletionListener { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     // 

     //http://dl.dropbox.com/u/24535120/AfroJack-UMF11-clip2.mp3 

     //http://dl.dropbox.com/u/24535120/Avicii%20clip%201.mp3 


     Uri myUri = Uri.parse("http://dl.dropbox.com/u/24535120/AfroJack-UMF11-clip2.mp3"); 

     MediaPlayer sdrPlayer = new MediaPlayer(); 

     try { 
      sdrPlayer.setDataSource(this, myUri);//"http://mp1.somafm.com:8032"); 
      sdrPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
      sdrPlayer.prepare(); //don't use prepareAsync for mp3 playback 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     sdrPlayer.start(); 
    } 

    @Override 
    public void onCompletion(MediaPlayer sdrPlayer) { 
     Uri myUri5 = Uri.parse("http://dl.dropbox.com/u/24535120/Avicii%20clip%201.mp3"); 

     try { 
      sdrPlayer.setDataSource(this, myUri5); 
      sdrPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
      sdrPlayer.prepare(); //don't use prepareAsync for mp3 playback 
     } catch (IllegalArgumentException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (SecurityException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IllegalStateException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     sdrPlayer.start(); 
    } 
} 

Respuesta

4

Usted puede registrar una OnCompletionListener con el reproductor multimedia. Cuando recibe su notificación de devolución de llamada, debe llamar al reset(), setDataSource y prepare() en el reproductor multimedia para la próxima URL.

No creo que haya nada en la API que indique qué fuente de datos está utilizando un reproductor multimedia. Necesitas hacer un seguimiento de eso tú mismo.

+0

Gracias por la ayuda Ted. Entonces, ¿no hay forma de que el título de la canción aparezca cuando esa canción se está reproduciendo desde la URL? – Splitusa

+0

Además, una especie de pregunta al azar ... ¿Es posible crear una matriz con varias URL dentro y hacer que el reproductor de medios reproduzca la matriz? Si es posible, ¿todavía tendría que configurar un oyente de finalización? gracias – Splitusa

+0

ver mi código arriba – Splitusa