I tried this code but it does not work
private View.OnClickListener pausePlay = new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
if (!playPause) {
btnPlay.setImageResource(R.mipmap.play);
if (intialStage) {
System.out.println("LINK RADIO\t" + json_link);
new Player()
.execute(json_url);
}else {
if (!mediaPlayer.isPlaying())
mediaPlayer.start();
}
playPause = true;
} else {
btnPlay.setImageResource(R.mipmap.play);
if (mediaPlayer.isPlaying())
mediaPlayer.pause();
playPause = false;
}
}
};
class Player extends AsyncTask<String, Void, Boolean> {
private ProgressDialog progress;
@Override
protected Boolean doInBackground(String... params) {
// TODO Auto-generated method stub
Boolean prepared;
try {
mediaPlayer.setDataSource(params[0]);
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
intialStage = true;
playPause=false;
btnPlay.setBackgroundResource(R.mipmap.play);
mediaPlayer.stop();
mediaPlayer.reset();
}
});
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
// mp.start();
mediaPlayer.start();
}
});
mediaPlayer.prepareAsync();
prepared = true;
} catch (IllegalArgumentException e) {
Log.d("IllegarArgument", e.getMessage());
prepared = false;
e.printStackTrace();
} catch (SecurityException e) {
prepared = false;
e.printStackTrace();
} catch (IllegalStateException e) {
prepared = false;
e.printStackTrace();
} catch (IOException e) {
prepared = false;
e.printStackTrace();
}
return prepared;
}
@Override
protected void onPostExecute(Boolean result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
if (progress.isShowing()) {
progress.cancel();
}
Log.d("Prepared", "//" + result);
// mediaPlayer.start();
intialStage = false;
}
public Player() {
progress = new ProgressDialog(MainActivity.this);
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
this.progress.setMessage("Buffering...");
this.progress.show();
}
}
Not work. E/MediaPlayer: error (1, -2147483648) E/MediaPlayer: Error (1,-2147483648) E/MediaPlayer: stop called in state 0 E/MediaPlayer: error (-38, 0)
what can I do? I do not understand what the problem is
Aucun commentaire:
Enregistrer un commentaire