2016-04-28 4 views

Antwort

1

Mit folgendem Code können Sie erkennen, während Video-Pufferung ist:

videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mp) { 
      mp.setOnInfoListener(new MediaPlayer.OnInfoListener() { 
       @Override 
       public boolean onInfo(MediaPlayer mp, int what, int extra) { 
        if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START) 
         bufferingDialog.show(); 
        if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END) 
         bufferingDialog.dismiss(); 
        return false; 
       } 
      }); 
     } 
    }); 
    videoView.setOnErrorListener(new MediaPlayer.OnErrorListener() { 
     @Override 
     public boolean onError(MediaPlayer mp, int what, int extra) { 
      bufferingDialog.dismiss(); 
      return false; 
     } 
    }); 

Auch this Bibliothek sehen empfehlen.

0

Dies kann man auf diese Weise helfen, versuchen

XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <VideoView 
     android:id="@+id/videoview" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" /> 

    <ProgressBar 
     android:id="@+id/progressbar" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:visibility="gone" /> 

</RelativeLayout> 

MainActivity.java

public class MainActivity extends Activity { 

    ProgressBar progressBar = null; 

    VideoView videoView = null; 

    String videoUrl = "video path here"; 

    Context context = null; 

    @Override 
    public void onCreate(Bundle iclic) { 
     super.onCreate(iclic); 

     context = null; 

     requestWindowFeature(Window.FEATURE_NO_TITLE); 

     setContentView(R.layout.activity_main); 

     videoView = (VideoView) findViewById(R.id.videoview); 
     progressBar = (ProgressBar) findViewById(R.id.progressbar); 

     Uri videoUri = Uri.parse(videoUrl); 

     videoView.setVideoURI(videoUri); 
     videoView.start(); 

     progressBar.setVisibility(View.VISIBLE); 

     videoView.setOnPreparedListener(new OnPreparedListener() { 
      @Override 
      public void onPrepared(MediaPlayer mp) { 
       // TODO Auto-generated method stub 
       mp.start(); 
       mp.setOnVideoSizeChangedListener(new OnVideoSizeChangedListener() { 
        @Override 
        public void onVideoSizeChanged(MediaPlayer mp, int arg1, 
          int arg2) { 
         // TODO Auto-generated method stub 
         progressBar.setVisibility(View.GONE); 
         mp.start(); 
        } 
       }); 

      } 
     }); 

    } 

}