2
나는 다운로드하지 않고 URL에서 음악을 재생하려고했지만 모든 문제는 다음 코드를 사용하여 음악을 재생하고 일시 정지하는 것입니다. 처음에는 음악이 시작되는 버튼을 누르기 만하면됩니다. 재생하고 다시 누르면 음악이 일시 중지되었지만 다시 버튼을 누르면 아무 것도 일어나지 않고 일시 중지 된 부분의 음악을 재생해야하지만 문제는 무엇입니까? 두 버튼, 일시 1 및 재생을하여 여기에서 IMAndroid - 음악 재생 url
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
prepareAsync()를 사용하지 않아도 prepare()를 사용할 수 있습니다. –