android:layout_height=“wrap_content”
app:layout_constraintLeft_toLeftOf=“parent”
app:layout_constraintRight_toRightOf=“parent”
app:layout_constraintTop_toTopOf=“parent” />
实现activity
/**
-
@author : LGQ
-
@date : 2020/12/19 09
-
@desc :
*/
public class PlayVideoActivity extends Activity {
VideoView mVideoView;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play_video);
mVideoView = findViewById(R.id.player);
StandardVideoController controller = new StandardVideoController(this);
//根据屏幕方向自动进入/退出全屏
controller.setEnableOrientation(true);
controller.addControlComponent(new CompleteView(this));//自动完成播放界面
VodControlView vodControlView = new VodControlView(this);//点播控制条
controller.addControlComponent(vodControlView);
//根据是否为直播决定是否需要滑动调节进度
controller.setCanChangePosition(false);
//如果你不想要UI,不要设置控制器即可
mVideoView.setVideoController(controller);
// mVideoView.setUrl(“http://vfx.mtime.cn/Video/2019/03/14/mp4/190314223540373995.mp4”);
mVideoView.setUrl(“http://szhdljhsxshg.app.xiaozhuschool.com/uploads/20201022/2dd814eb3ad4a50335346f29306204e4.mp4”);
mVideoView.start();
}
private VideoView.OnStateChangeListener mOnStateChangeListener = new VideoView.SimpleOnStateChangeListener() {
@Override
public void onPlayerStateChanged(int playerState) {
switch (playerState) {
case VideoView.PLAYER_NORMAL://小屏
break;
case VideoView.PLAYER_FULL_SCREEN://全屏
break;
}
}
@Override
public void onPlayStateChanged(int playState) {
switch (playState) {
case VideoView.STATE_IDLE:
break;
case VideoView.STATE_PREPARING:
//在STATE_PREPARING时设置setMute(true)可实现静音播放
// mVideoView.setMute(true);
break;
case VideoView.STATE_PREPARED:
break;
case VideoView.STATE_PLAYING:
//需在此时获取视频宽高
int[] videoSize = mVideoView.getVideoSize();
L.d(“视频宽:” + videoSize[0]);
学习宝典
对我们开发者来说,一定要打好基础,随时准备战斗。不论寒冬是否到来,都要把自己的技术做精做深。虽然目前移动端的招聘量确实变少了,但中高端的职位还是很多的,这说明行业只是变得成熟规范起来了。竞争越激烈,产品质量与留存就变得更加重要,我们进入了技术赋能业务的时代。
不论遇到什么困难,都不应该成为我们放弃的理由!
很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我针对Android程序员,我这边给大家整理了一套学习宝典!包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!
【Android核心高级技术PDF文档,BAT大厂面试真题解析】
【算法合集】
【延伸Android必备知识点】
【Android部分高级架构视频学习资源】
加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0
Android必备知识点】**
[外链图片转存中…(img-yBcUqk4T-1725669355037)]
【Android部分高级架构视频学习资源】
加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0