gpt4 book ai didi

android - SimpleExoPlayerView 是否有 Controller 可见性更改事件?

转载 作者:行者123 更新时间:2023-11-29 01:08:43 38 4
gpt4 key购买 nike

我正在尝试使用 SimpleExoPlayerView 实现全屏模式。我主要使用 setSystemUiVisibility 来解决这个问题。

在 onCreate 期间,我添加了一个 OnSystemUiVisibilityChange 监听器以同步隐藏播放器控件与操作栏。

    @Override
public void onCreate(Bundle savedInstanceState) {

View decorView = getWindow().getDecorView();
decorView.setOnSystemUiVisibilityChangeListener
(onSystemUiChange());

hideSystemUI();
}

在 OnSystemUiVisibilityChangeListener 中,我还设置了一个与 simpleExoplayerViews 超时相匹配的超时,以便同时隐藏控件和操作栏。

    @NonNull
private View.OnSystemUiVisibilityChangeListener onSystemUiChange() {
return new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
mSimpleExoPlayerView.showController();
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//sync the hide system ui with
//simpleExoPlayerView's auto hide timeout
hideSystemUI();
}
}, mSimpleExoPlayerView.getControllerShowTimeoutMs());

} else {
mSimpleExoPlayerView.hideController();
}
}
};
}

private void hideSystemUI() {
View rootView = findViewById(R.id.root);
rootView.setSystemUiVisibility(
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 // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
);
}

除了在一种情况下,这工作得很好。如果您点击屏幕,然后在 SimpleExoPlayerView 控件超时之前再次点击它,SimpleExoPlayerView 将被隐藏,但系统 ui 直到超时才会设置。有没有我可以 Hook 的事件?

我已经尝试为我的根布局设置一个 onClick 和 onTouch 监听器,但这些事件没有被触发,我怀疑 SimpleExoPlayerView 可能吞下了它们?

最佳答案

ExoPlayer 2.10.4 有。

exoplayer PlayerView 有一个方法叫做

public void setControllerVisibilityListener(PlayerControlView.VisibilityListener listener) {
}

关于android - SimpleExoPlayerView 是否有 Controller 可见性更改事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45010082/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com