版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_23195583/article/details/54411136
这个也支持短视频的播放,因为暂时还没有在服务器测试,就先写本地播放的吧。
先看一下效果图:图片太大放在github上了。
https://github.com/1181631922/Recreation/blob/master/readme/start/start4.gif
这里定义了一个不显示进度条的视频播放控件:
package com.fanyafeng.recreation.view;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.MediaController;
import android.widget.VideoView;
/**
* Author: fanyafeng
* Data: 17/1/11 下午6:06
* Email: [email protected]
*/
public class FullScreenVideoView extends VideoView{
public FullScreenVideoView(Context context) {
super(context);
}
public FullScreenVideoView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public FullScreenVideoView(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);
MediaController mediaController = new MediaController(getContext());
mediaController.setVisibility(GONE);
this.setMediaController(mediaController);
}
}
以下这行代码可以把手机的状态栏屏蔽:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);视频的话不展示,图片还是展示效果比较好
我把视频放在了raw目录下了,视频是从原来天天动听包里拿的。
上文中有所有代码,这里把核心代码写一下,感觉首次播放视频的话最好不要去设置几秒结束,让用户去操作比较好。
mediaController = new MediaController(this);
fullVideoView.setMediaController(mediaController);
sdvStartImg.setVisibility(View.GONE);
fullVideoView.setVideoURI(Uri.parse("android.resource://com.fanyafeng.recreation/" + R.raw.login_video));
fullVideoView.start();
fullVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
mp.setLooping(true);
}
});
这里要设置循环,为了更好的用户体验。