wtao
wtao
  • 发布:2019-05-07 15:39
  • 更新:2019-05-07 17:53
  • 阅读:1832

【报Bug】隐藏底部虚拟按键导致部分机型退出视频全屏播放

分类:HTML5+

详细问题描述

iframe引入的第三方视频,点击全屏播放后 安卓手机的底部虚拟按键是一直显示着的。我试图通过以下代码实现完全全屏:

document.addEventListener('plusready', function(){  
        document.addEventListener('webkitfullscreenchange', function() {  
            var el = document.webkitFullscreenElement; //获取全屏元素  
            if(el) {  
                plus.screen.lockOrientation('landscape'); //锁死屏幕方向为横屏  
                hide_system_bar();  
            } else {  
                plus.screen.unlockOrientation(); //解除屏幕方向的锁定,但是不一定是竖屏;  
                plus.screen.lockOrientation('portrait'); //锁死屏幕方向为竖屏  
                show_system_bar();  
            }  
        });  
    });  
  
//隐藏系统底部虚拟物理按键  
    function hide_system_bar(){  
        var main = plus.android.runtimeMainActivity();  
        var windowMe = main.getWindow();  
        plus.android.importClass(windowMe);  
        var decorView = windowMe.getDecorView();  
        plus.android.importClass(decorView);  
        var View = plus.android.importClass("android.view.View");  
        var uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN;  
  
        decorView.setSystemUiVisibility(uiOptions);  
    }  
    //显示系统底部虚拟物理按键  
    function show_system_bar(){  
        var main = plus.android.runtimeMainActivity();  
        var windowMe = main.getWindow();  
        plus.android.importClass(windowMe);  
        var decorView = windowMe.getDecorView();  
        plus.android.importClass(decorView);  
        var View = plus.android.importClass("android.view.View");  
  
        decorView.setSystemUiVisibility(0);  
    }

以上代码在华为手机上是有效的,但是在vivo上会导致视频不能全屏(隐藏状态栏和底部虚拟按键后会自动跳出全屏)

App运行环境说明

[Android版本号] 8.0

[iOS版本号]

[手机型号] vivo x21

[模拟器型号]

2019-05-07 15:39 负责人:无 分享
已邀请:
DCloud_Android_ST

DCloud_Android_ST

把View.SYSTEM_UI_FLAG_FULLSCREEN 去掉试试

wtao

wtao (作者)

demo见附件

  • DCloud_Android_ST

    View.SYSTEM_UI_FLAG_LAYOUT_STABLE

    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION

    | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION

    | View.SYSTEM_UI_FLAG_FULLSCREEN

    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY

    试试


    2019-05-07 18:37

  • DCloud_Android_ST

    目前测试有些手机webkitfullscreenchange 的事件都不触发。你那个业务逻辑可能还是会有问题,建议用5+的video实现


    2019-05-07 18:39

  • wtao (作者)

    回复 DCloud_Android_ST: 谢谢,都试过,没用。只要试图隐藏底部虚拟按键vivo的就会退出全屏,不是webkitfullscreenchange 的问题,通过别的事件触发同样会退出。因为视频放在第三方平台,要加密和清晰度选择,用5+的video没法实现吧?


    2019-05-08 11:09

  • DCloud_Android_ST

    回复 wtao: 那只能等官方H5视频播放全屏优化了。


    2019-05-08 11:21

该问题目前已经被锁定, 无法添加新回复