Android 用视频做页面背景
不知道怎么开头,直接代码。
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(); }