解决JZPlayer7.1.0版本点击重播后强制竖屏
项目中发现使用JZVideo(Github地址)的View播放视频,就算把View所在的Activity的屏幕方向设置为重力感应,视频结束后点击重播也会被改为竖屏并且重力感应设置失效。
7.1.0版本会有此bug,后续版本已经修复,7.6.0测试正常
断点后发现,原因如下。
- 点击重播的按钮,调用了JZVideoPlayer中
OnClick
方法中R.id.start的逻辑,走到了currentState == CURRENT_STATE_AUTO_COMPLETE
中的startVideo()
- 在
startVideo()
中调用了JZVideoPlayerManager.completeAll();
,继续调用了FIRST_FLOOR_JZVD.onCompletion();
- 在
onCompletion()
中有一行关键代码:JZUtils.setRequestedOrientation(getContext(), NORMAL_ORIENTATION);
- 这个方法里会执行
JZUtils.getAppCompActivity(context).setRequestedOrientation(orientation);
,而JZVideoPlayer这个类中,声明了public static int NORMAL_ORIENTATION = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
,因此会导致点击重播,被强制竖屏了。
方法一:可以写个类继承JZVideoPlayerStandard,然后重写onCompletion
方法,如下。
@Overridepublic void onCompletion() {super.onCompletion();//此代码用于解决重播时会强制横屏JZUtils.setRequestedOrientation(getContext(), FULLSCREEN_ORIENTATION);}
方法二:直接在JZVideoPlayerStandard的子类中将JZVideoPlayer的NORMAL_ORIENTATION
变量值改为全屏使用的。
JZVideoPlayer.NORMAL_ORIENTATION = ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE;//将视频的默认方向设为横屏
解决JZPlayer7.1.0版本点击重播后强制竖屏相关推荐
- 解决 Electron 5.0 版本出现 require is not defined 的问题
解决 Electron 5.0 版本出现 require is not defined 的问题 参考文章: (1)解决 Electron 5.0 版本出现 require is not defined ...
- 解决windows下合上、掀开笔记本盖子后屏幕黑屏的问题
解决windows下合上.掀开笔记本盖子后屏幕黑屏的问题 参考文章: (1)解决windows下合上.掀开笔记本盖子后屏幕黑屏的问题 (2)https://www.cnblogs.com/marioc ...
- 解决Creo 5.0在打开stl模型后,无法查看左视图,右视图
问题 我的Creo 5.0在打开stl模型后,无法查看左视图,右视图,上视图等,现在总结一下解决办法. 解决办法 前视图的设置 导入模型,名字为bool,点击bool,创建平面 前视图,是从y方向看的 ...
- android微信电话锁屏,解决 Android 7.0 系统中,微信无法在锁屏画面显示
文章版块:HTC One A9 在 Android 7.0 系统中htc手机微信怎么截屏htc手机微信怎么截屏,会出现微信无法在锁屏画面显示的状况.建议您进行下面修改就可以解决: 进入"HT ...
- 解决有重力感应的设备装Ubuntu时默认竖屏的问题,使之能登录后自动横屏
前言 本人于大三的时候收购了一台二手台电Tbook10s,原装是win10和Android5双系统,后来因为Android版本太落后,清空硬盘装了win10单系统,看点视频写点文档,可堪一用. ...
- iOS界面 点击按钮切换横屏竖屏
首先,看效果图: 在这里因为是要全局界面都是支持竖屏,其他的不支持,在Xcode里面的配置 然后就是在AppDelegate中添加属性和方法 这个是viewController中,即需要转换屏幕方向的 ...
- 解决R 4.0版本包的安装错误
R 4.0.2版本edgeR包的安装 2020年6月22日,R官网发布了版本4.0.2的R软件,具体更新了什么内容,待后续挖掘.作为一名流行病与卫生统计学硕士.刚入门的R小白,比较关注的是应用问题.这 ...
- 【已解决】Android5.0版本如何打开调试模式
解决方法: 设置->关于手机->Android版本(双击此处,直到提示已经处于开发者模式) 返回上一级,进入其他高级设置->开发者选项->USB调试(勾选) 此时,已经搞定,赶 ...
- 解决cocos2d-X 2.0版本后创建的Android项目提示org.cocos2dx.lib.Cocos2dxActivity找不到问题...
原地址: http://blog.163.com/zhoulong19880518@126/blog/static/6070970220132511558143/ 解决方法: 复制 ***\c ...
最新文章
- 将CAD图纸转换出来的图片怎么设置其为高清JPG格式?
- 分步骤学习自动化测试
- Sql Server 性能分析4 –数据库大小,数据库表大小综合性分析报表输出
- drools规则引擎因为内存泄露导致的内存溢出
- python入门系列:深入Python的set和dict
- 扩展Snackbar 使其支持居中显示
- datatables隐藏列设置及获取隐藏列的值
- doc文件转换html,HTML+CSS入门 如何使用POI将doc文件转换为HTML
- php aes 3des区别,AES和3DES之间的区别
- win10电子邮件没有关联_我们如何为在线课程建立10K电子邮件列表
- T-SQL: Adding More to Our Queries
- 为一路通(16tone)开博
- linux下Led的设备驱动程序实验总结,Linux让LED灯闪起来
- 浅谈第三方电子支付平台测试方法的研究
- 杭电OJ分类题目(3)
- js隐藏和显示div
- android 悬浮按钮 功能实现,Android自定义悬浮按钮效果实现,带移动效果
- php的一些编码问题
- 数学知识在计算机专业的运用,数学在计算机科学及应用中的作用分析
- 中国三大石油公司信息化进展
热门文章
- python dataframe loc函数_详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)...
- 《Scrum敏捷游戏开发》读书笔记
- Tracking Learning Detection (TLD)目标跟踪算法原理详解~PPT版
- centos7 桌面程序自动启动
- vmware虚拟机安装Linux Mint 20全过程
- Spring/SpringBoot常用注解总结!
- JAVA毕业设计HTML5运河古城网站计算机源码+lw文档+系统+调试部署+数据库
- SparkStreaming消费kafka数据时出现序列化问题 org.apache.kafka.common.serialization.StringDeserializer could not b
- 2020校招学习之路分享————MySQL篇
- 华为发布下一代产品战略123456及+AI系列新品