关于登陆注册视频背景的记录,效果图如下:
import android.content.Context;
import android.media.MediaPlayer;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.widget.VideoView;
/**
* author: wu
* date: on 2019/1/10.
* describe:
*/
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);
}
}
在布局文件加入 MyVideoView ,保证它占全屏:
<com.wangwen.moka.tools.login.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"/>
要将 map 视频文件加入到 res 中的 raw 文件夹下,raw 为自己新建的文件夹,然后在代码中添加:
public class Activity_StartLogin extends AppCompatActivity {
@InjectView(R.id.videoView)
MyVideoView videoview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start_login);
setVideo();
}
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();
}
}
这样就完成了。