如何在播放视频之前显示进度条

Ram*_*hna 7 android progressdialog video-streaming

我想在播放视频之前显示进度对话框.我尝试下面的链接示例播放视频.

http://davanum.wordpress.com/2009/12/04/android-%E2%80%93-videomusic-player-sample-take-2/

它可以工作但是需要更多的时间来播放视频,所以我想在开始播放视频之前显示进度对话框.所以请在播放视频之前告诉我如何显示进度对话框.

谢谢.

最好的祝福.

Cam*_*ron 18

首先,声明进度对话框

private static ProgressDialog progressDialog;
Run Code Online (Sandbox Code Playgroud)

然后,在onCreate中,在调用runOnUiThread之前,启动对话框

progressDialog = ProgressDialog.show(this, "", "Loading...", true);
Run Code Online (Sandbox Code Playgroud)

在playVideo中,设置一个OnPreparedListener,它将在视频准备播放时关闭对话框

mVideoView.setOnPreparedListener(new OnPreparedListener() {

    public void onPrepared(MediaPlayer arg0) {
        progressDialog.dismiss();
        mVideoView.start();
    }
});
Run Code Online (Sandbox Code Playgroud)


ack*_*kio 8

在这种情况下,恕我直言,使用进度对话框的ProgressBar小部件更加优雅.它在视频表面看起来更好.您可以将进度条添加到VideoView上方的活动布局中:

<ProgressBar 
    android:id="@+id/progress" 
    android:indeterminate="true" 
    android:indeterminateBehavior="repeat" 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:layout_gravity="center">
</ProgressBar>
Run Code Online (Sandbox Code Playgroud)

在onCreate中,在调用runOnUiThread之前,显示进度:

mProgress = (ProgressBar)findViewById(R.id.progress);
mProgress.setVisibility( View.VISIBLE );
Run Code Online (Sandbox Code Playgroud)

在onPrepared回调中隐藏进度:

mProgress.setVisibility( View.INVISIBLE );
Run Code Online (Sandbox Code Playgroud)