如果流不可用,则以下媒体播放器播放音频流时出现问题程序没有任何响应,我该如何解决这个问题,尝试进行进度对话框,但是解决方案不起作用,也许我做错了什么,但是当你点击进度条时先出现然后立即消失而没有等待开始播放音乐。
setDataSource 提前提交了一个断开的链接,没有任何改变。
用进度对话框编码媒体播放器:
private class ProgressTask extends AsyncTask <Void,Void,Void>{
@Override
protected void onPreExecute(){
progressbar.setVisibility(View.VISIBLE);
}
@Override
protected Void doInBackground(Void... arg0) {
preload();
return null;
}
@Override
protected void onPostExecute(Void result) {
MPplay();
progressbar.setVisibility(View.GONE);
}
}
public void preload() {
releaseMP();
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
if(pdaStream.isChecked()){
Main_stream = "http://145.255.233.204:58000/radio_pda";
}else{
Main_stream = "http://145.255.233.204:58000/radio";
}
mediaPlayer.setDataSource(Main_stream);
} catch (IOException e) {
e.printStackTrace();
}
Log.d(LOG_TAG, "prepareAsync");
mediaPlayer.prepareAsync();;
}
public void MPplay(){
mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
}
最佳答案
如果您想知道视频何时可以播放,请使用此回调。 http://developer.android.com/reference/android/media/MediaPlayer.OnPreparedListener.html
onPrepared(MediaPlayer mp)
//Called when the media file is ready for playback.
如果您想查看视频何时达到 100% 缓冲,请使用此回调:http://developer.android.com/reference/android/media/MediaPlayer.OnBufferingUpdateListener.html
public abstract void onBufferingUpdate (MediaPlayer mp, int percent)
关于android - 如何使用媒体播放器显示进度对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21402963/