URLからmp3を再生しようとしています。しかし、そのファイルをオンラインで再生するにはあまりにも多くの時間を要するため、このユーザーは進行状況のダイアログが消えるまで深刻な問題が発生するまで待たなければなりません。私は音楽を再生する時間を短縮できます。私のURLとコードはURLからmp3を再生するには時間がかかりすぎます
ですURL:[http://ice31.securenetsystems.net/STUDIO1?type=.mp3][1]
public class Player extends AsyncTask<String, Void, Boolean> {
private Context context;
private String stationUrl;
public static MediaPlayer mediaPlayer = new MediaPlayer();
private boolean initialStage = true;
private boolean playPause;
public Boolean prepared = false;
public ProgressDialog progressDialog = null;
public Player(String stationUrl,Context context) {
this.stationUrl = stationUrl;
this.context = context;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
CommonUtils.showProgress(context);
}
@Override
protected Boolean doInBackground(String... strings) {
try {
mediaPlayer.setDataSource(stationUrl);
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
initialStage = true;
playPause = false;
mediaPlayer.stop();
mediaPlayer.reset();
}
});
mediaPlayer.prepare();
prepared = true;
} catch (Exception e) {
prepared = false;
}
return prepared;
}
@Override
protected void onPostExecute(Boolean aBoolean) {
super.onPostExecute(aBoolean);
CommonUtils.dismissProgress();
mediaPlayer.start();
mediaPlayer.pause();
if (!CommonUtils.getPreferencesString(context,AppConstants.STATUS).equalsIgnoreCase(""))
{
if (CommonUtils.getPreferencesString(context,AppConstants.STATUS).equalsIgnoreCase("One"))
{
mediaPlayer.start();
}
}
initialStage = false;
}
}
なぜ 'AsyncTask <>'で使用しますか? – salman