-
Notifications
You must be signed in to change notification settings - Fork 298
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
播放百度百科视频时,首次横屏会失败,第二次及之后才会正常 #56
Comments
我找了一个百科里的视频确实如此。 这个有问题的视频,全屏后应该也是竖屏显示的,但是ByWebVIew默认是横屏显示的。而且我后面清除缓存再次进去后也是好的,很奇怪,我这几天仔细看看 |
我用不同型号的手机测试百科里的秒懂百科视频,任何一个视频都存在相同的问题:打开一个ByWebView窗口,显示一个视频,点击视频右下角的全屏按钮,会横屏,一秒后又自动返回到竖屏状态。返回竖屏状态后,再次点击全屏按钮,这次就正常了,只要保持这个ByWebView窗口不关闭,之后所有视频都能正常切换到全屏。要是关闭了ByWebView窗口,再次打开,就会重现上述现象。我估计是上述代码中两条if 语句的涉及到的条件有些漏洞。 |
麻烦贴一个有问题的url,我这边用你这个链接试试 |
这里不能注释,是因为取消视频全屏时,要把页面设置为竖屏,if那个语句就是设置竖屏的代码,不然就会有: |
我用这个链接在项目的demo里尝试时,还未发现这个问题。我的手机是OPPO Find X3 Pro。 |
好吧。我也下载最新版demo测试一下,如果没有问题,那有可能我集成时可能出了bug;如果能重现我再找出差异之处。 |
是的,看项目里的demo有没有问题,复现不了的话我这边不太好改 |
发现了个bug,用demo加载这条百科视频链接,点第一个视频全屏播放后关闭全屏,再点击第二个视频全屏播放,还是第一个视频的 |
这个在问题在这里提了 #59 |
如题。打开一个视频,点击视频右下角的全屏按钮,会横屏,然后又切换回竖屏。
跟踪代码发现,是由于 ByWebChromeClient.java中下面代码引起:
@SuppressLint("SourceLockedOrientationActivity")
@OverRide
public void onHideCustomView() {
......
// 还原到之前的屏幕状态
if (!isFixScreenPortrait) {
if (onByWebChromeCallback == null || !onByWebChromeCallback.onHandleScreenOrientation(false)) {
// 为空或返回为true时,自己处理横竖屏。否则默认设置为竖屏
mActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
........
}
注释上面的 if 语句块,首次全屏会切换到横屏状态,但标题栏及系统状态栏没有隐藏,只能看到视频的上半部分。
问了 ChatGPT-4,提供了两种解决思路:
The text was updated successfully, but these errors were encountered: