gpt4 book ai didi

android - 方向更改时 YouTubePlayerFragment 黑屏

转载 作者:搜寻专家 更新时间:2023-11-01 09:33:10 25 4
gpt4 key购买 nike

我试图在方向改变时继续播放 YouTubePlayerFragment

代码如下所示:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle bundle) {
FrameLayout frameLayout = new FrameLayout(getActivity());
populateViewForOrientation(inflater, frameLayout);
return frameLayout;
}

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
LayoutInflater inflater = LayoutInflater.from(getActivity());
populateViewForOrientation(inflater, (ViewGroup) getView());
}

private void populateViewForOrientation(LayoutInflater inflater, ViewGroup viewGroup) {
viewGroup.removeAllViewsInLayout();
rootView = inflater.inflate(getLayoutResId(), viewGroup);
ButterKnife.bind(this, rootView);

if (frYTube != null) {
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.frame, frYTube);
transaction.commitAllowingStateLoss();
}
}

fragment 已替换(我看到上面的文字)并且正在播放音乐但不是视频 - 黑屏。我该如何处理?有可能取回视频吗?顺便说一句,如果旋转后下一个视频是 oppenes - 视频出现。我尝试为当前视频调用 pauseplay - 它没有帮助。我还没有尝试 YouTubePlayerView 因为我使用 moxy 所以我需要处理 fragment 。

更新

看起来使用 YouTubePlayerFragment 创建自定义 View 具有更稳定的行为(然后删除添加 View )。但黑屏问题依然存在。

在这种情况下可以通过以下方式恢复视频:

 mYouTubePlayer.loadVideo(url);
...
public void onLoaded(String s) {
mYouTubePlayer.seekToMillis(mills);

但是重新加载视频没有任何意义,我正在努力避免这种情况 - 出现延迟

最佳答案

基于此post ,请确保在恢复期间调用 onCreate() 时在 onCreate() 中初始化 YouTubePlayerView 而不是显式创建。这是一个 tutorial其中包含 fragment 的 Activity 不需要扩展任何特殊的基类。

您还可以查看此相关主题:Screen orientation not working with youtubePlayerfragment

关于android - 方向更改时 YouTubePlayerFragment 黑屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45526975/

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