不知道怎么開頭,直接代碼。
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();
}
