I am using media player to play a mp3 from URL.But my media player not calling OnPreparedListener after I am setting a URL as my data source. And I called PrepareAsync(). The URL is working in the browser. And I am not getting any errors.So please help me.
This is the way I am setting liseners. And I implemented all.
mediaPlayer.setOnCompletionListener(this);
mediaPlayer.setOnErrorListener(this);
mediaPlayer.setOnPreparedListener(this);
mediaPlayer.setOnInfoListener(this);
mediaPlayer.setOnBufferingUpdateListener(this);
And this is my ErrorListener
//Handle errors
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
//Invoked when there has been an error during an asynchronous operation.
switch (what) {
case MediaPlayer.MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK:
Log.d("MediaPlayer Error", "MEDIA ERROR NOT VALID FOR PROGRESSIVE PLAYBACK " + extra);
break;
case MediaPlayer.MEDIA_ERROR_SERVER_DIED:
Log.d("MediaPlayer Error", "MEDIA ERROR SERVER DIED " + extra);
break;
case MediaPlayer.MEDIA_ERROR_UNKNOWN:
Log.d("MediaPlayer Error", "MEDIA ERROR UNKNOWN " + extra);
break;
}
return false;
}
And this is my OnPreparedListener
@Override
public void onPrepared(MediaPlayer mp) {
//Invoked when the media source is ready for playback.
startMedia();
}
By using ExoAudioPlayer I fixed the Issue.