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