studio setonpreparedlistener programacion móviles mediaplayer ejemplo desarrollo curso aplicaciones android stream player

setonpreparedlistener - android mediaplayer stream archivo en línea mp3



mediaplayer android ejemplo (1)

En realidad, no sé dónde está el error en tu código pero explicaré cómo lo hice en mi aplicación

public void playMp3(String _link){ mediaPlayer.reset(); Progressbar.setVisibility(View.VISIBLE); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); try { mediaPlayer.setDataSource(_link); mediaPlayer.setOnBufferingUpdateListener(this); mediaPlayer.setOnPreparedListener(this); //mediaPlayer.prepare(); // might take long! (for buffering, etc) //@@ mediaPlayer.prepareAsync(); } 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(); } }

Luego implementa OnCompletionListener, OnPreparedListener y OnBufferingUpdateListener en su clase

public class PlayerActivity extends Activity implements OnCompletionListener, OnPreparedListener, OnBufferingUpdateListener{ . . .

e implementa todos los metodos

public void onPrepared(MediaPlayer mediaplayer) { if(!mediaPlayer.isPlaying()){ mediaPlayer.start(); Progressbar.setVisibility(View.INVISIBLE); play.setVisibility(View.GONE); stop.setVisibility(View.VISIBLE); songProgressBar.setProgress(0); songProgressBar.setMax(100); } updateProgressBar(); } @Override public void onCompletion(MediaPlayer mediaPlayer) { //mediaPlayer.reset(); songProgressBar.setProgress(0); songProgressBar.setSecondaryProgress(0); play.setVisibility(View.VISIBLE); stop.setVisibility(View.GONE); link = "http://server11.mp3quran.net/hawashi/002.mp3"; playMp3(link); } @Override public void onBufferingUpdate(MediaPlayer mp, int percent) { songProgressBar.setSecondaryProgress(percent); if(percent==100) { Progressbar.setVisibility(View.INVISIBLE); }else if(percent > songProgressBar.getProgress()) { Progressbar.setVisibility(View.INVISIBLE); }else { Progressbar.setVisibility(View.VISIBLE); } }

Ojalá esto te haya ayudado.

Tengo el archivo mp3 de la aplicación Android y reproduzco este archivo en el reproductor, pero el problema es mediaPlayer.prepare (); tomar mucho tiempo de almacenamiento intermedio y congelación de la aplicación, así que traté de usar prepareAsync (); // pero con esta función no puedo hacer que el jugador juegue el siguiente archivo

solo un archivo en línea si necesito reproducir otro archivo, debería cerrar la actividad de reinicio cuando

play end not play next este es mi código

y lo siento por mi mal inglés

este es mi código cualquier ayuda por favor

public void playMp3(String _link) { mediaPlayer.setOnPreparedListener(new OnPreparedListener() { public void onPrepared(MediaPlayer mp) { if(!mediaPlayer.isPlaying()){ mediaPlayer.start(); Progressbar.setVisibility(View.INVISIBLE); play.setVisibility(View.GONE); stop.setVisibility(View.VISIBLE); songProgressBar.setProgress(0); songProgressBar.setMax(100); } updateProgressBar(); } }); mediaPlayer.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { // TODO Auto-generated method stub mediaPlayer.reset(); songProgressBar.setProgress(0); songProgressBar.setSecondaryProgress(0); play.setVisibility(View.VISIBLE); stop.setVisibility(View.GONE); link = "http://server11.mp3quran.net/hawashi/002.mp3"; playMp3(link); } }); mediaPlayer.setOnBufferingUpdateListener(new OnBufferingUpdateListener() { @Override public void onBufferingUpdate(MediaPlayer mp, int percent) { // Toast.makeText(getApplicationContext(), "n" + percent, Toast.LENGTH_LONG).show(); songProgressBar.setSecondaryProgress(percent); if(percent==100) { Progressbar.setVisibility(View.INVISIBLE); }else if(percent > songProgressBar.getProgress()) { Progressbar.setVisibility(View.INVISIBLE); }else { Progressbar.setVisibility(View.VISIBLE); } } }); mediaPlayer.reset(); Progressbar.setVisibility(View.VISIBLE); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); try { mediaPlayer.setDataSource(_link); //mediaPlayer.prepare(); // might take long! (for buffering, etc) //@@ mediaPlayer.prepareAsync(); } 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(); }}