android - 如何使用媒体播放器显示进度对话框?

标签 android android-mediaplayer progressdialog

如果流不可用,则以下媒体播放器播放音频流时出现问题程序没有任何响应,我该如何解决这个问题,尝试进行进度对话框,但是解决方案不起作用,也许我做错了什么,但是当你点击进度条时先出现然后立即消失而没有等待开始播放音乐。

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/

相关文章:

android - android项目的BaseFragment架构

audio - 逐步下载音频文件

android - 主要 Activity 中的异步任务如何显示进度对话框

java - 关于 Android 对话框

android - 在 UI 中使用线程以加载网页的 Android 最佳实践?

android - Android ListView 中的按钮不响应点击

android - Google 地理编码服务不可用(地址坐标)

java - Android 上的 setter getter

android - 将 MediaController 定位在 Fragment 中

android - 在播放视频时调整/缩小 YouTubePlayerFragment