不知道怎么开头,直接代码。
xml:RelativeLayout布局,MyVideoView放在第一位,其他的放到之下就可以。
<MyVideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:foregroundGravity="center"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"/>
MyVideoView:
public class MyVideoView extends VideoView { public MyVideoView(Context context) { super(context); } public MyVideoView(Context context, AttributeSet attrs) { super(context, attrs); } public MyVideoView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { //重新计算高度 int width = getDefaultSize(0, widthMeasureSpec); int height = getDefaultSize(0, heightMeasureSpec); setMeasuredDimension(width, height); } @Override public void setOnPreparedListener(MediaPlayer.OnPreparedListener l) { super.setOnPreparedListener(l); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { return super.onKeyDown(keyCode, event); } }
Activity:
private void setVideo() {
//设置播放加载路径
videoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.login));
//播放
videoView.start();
//循环播放
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
videoView.start();
}
});
//设置为静音
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.setVolume(0f, 0f);
}
});
}
//返回重启加载
@Override
protected void onRestart() {
setVideo();
super.onRestart();
}
//防止锁屏或者切出的时候,音乐在播放
@Override
protected void onStop() {
videoView.stopPlayback();
super.onStop();
}