记录下使用方法下面是代码:
public class PlayVideoActivity extends AppCompatActivity {
@BindView(R.id.playVideo_videoView)
VideoView mVideoView;
@BindView(R.id.playVideo_iv_back)
ImageView mIvBack;
@BindView(R.id.playVideo_progressBar)
ProgressBar mProgressBar;
private MediaController mMediaController;
String url = "https://res.cloudinary.com/liuyuesha/video/upload/v1475978853/广告_bl4dbp.mp4";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.play_video_activity);
ButterKnife.bind(this);
mIvBack.setOnClickListener(v -> finish());
initData(url);
}
private void initData(String url) {
mMediaController = new MediaController(this);
mVideoView.setMediaController(mMediaController);
mVideoView.setVideoPath(url);
mVideoView.requestFocus();
mVideoView.start();
//准备完毕
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mProgressBar.setVisibility(View.GONE);
}
});
//正在缓冲
mVideoView.setOnInfoListener(new MediaPlayer.OnInfoListener() {
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START) {
mProgressBar.setVisibility(View.VISIBLE);
} else {
mProgressBar.setVisibility(View.GONE);
}
return true;
}
});
//播放完毕,循环播放
mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mVideoView.setVideoPath(url);
mVideoView.requestFocus();
mVideoView.start();
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mVideoView != null) {
mVideoView.suspend();
}
}
}
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black">
<VideoView
android:id="@+id/playVideo_videoView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerVertical="true" />
<ImageView
android:id="@+id/playVideo_iv_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_mao_back" />
<ProgressBar
android:id="@+id/playVideo_progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
</RelativeLayout>
</LinearLayout>