2
我試圖從網址播放音樂而無需下載,每一件事情都寫入唯一的問題是我使用下面的代碼來播放和暫停音樂,首先按下按鈕音樂開始播放播放並再次按下音樂暫停,但如果我再次按下該按鈕則什麼也沒有發生,它應該播放暫停播放的音樂,但它不會,問題是什麼?Android - 從網址播放音樂
buttonPlayPause = (ImageView) findViewById(R.id.play);
buttonPlayPause.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (isPlaying) {
buttonPlayPause.setImageResource(R.drawable.play);
mediaPlayer.pause();
isPlaying = false;
} else {
buttonPlayPause.setImageResource(R.drawable.pause);
new Stream().execute();
}
}
});
private class Stream extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... params) {
try {
mediaPlayer.setDataSource(url);
mediaPlayer.prepare();
mediaFileLengthInMilliseconds = mediaPlayer.getDuration();
mediaPlayer.start();
animation.cancel();
isPlaying = true;
primarySeekBarProgressUpdater();
} catch (Exception e) {
return "Exception Caught";
}
return url;
}
@Override
protected void onPostExecute(String result) {
}
}
只是旁註:爲什麼你要在你的onClick(View v)方法中檢查'v.getId()== R.id.play'?是不同的按鈕調用這種方法? – donfuxx
你是對的,我修好了 – user3326853
可能會導致你使用prepare()not prepareAsync() –