FLutter 视频播放:
`
目前在做FLutter种的视频播放功能,遇到了视频播放的时候,屏幕突然黑屏了。网上找了很多,无论是设置在原生的Activity界面,添加如下代码,
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
还是在xml中设置
android:keepScreenOn="true"
都无效。甚至在Fragment中的onCreateView方法中加入代码,
Activity activity = getActivity();
if (activity != null) {
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
activity.setTurnScreenOn(true);
}
又或者,在任意一个View中加入如下代码,
mView.setKeepScreenOn(true);
都无效。
后来在FLutter种加入wakelock 插件
wakelock: ^0.6.2
在 initState 调用
Wakelock.enable();
在 dispose 调用
Wakelock.disable();
也无效。
其实,仔细查看Wakelock插件的源代码,发下这个插件保持屏幕常亮的方法,也是调用
Activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
和
Activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
原因分析:
以上的处理,都不是fijkplayer当前的View,所以不起作用。
解决方案:
查看fijkplayer的FLutter源代码以及原生的源代码发现,有一个叫做 FijkPlugin 的插件类,里面支持 有一个 setScreenOn 的方法,支持屏幕常亮。但是FijkPlayer的方法里面没有,这个时候,我们调用 FijkPlugin 的方法,接着就屏幕常亮了`。
FijkPlugin.keepScreenOn( true ) ;
记得在dispose方法中调用文章来源:https://www.toymoban.com/news/detail-567149.html
FijkPlugin.keepScreenOn( false ) ;
完毕!文章来源地址https://www.toymoban.com/news/detail-567149.html
到了这里,关于FLutter 开发中 fijkplayer设置屏幕常亮的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!