Youtube播放器旋转时停止



当我在portrain状态下开始播放视频,然后旋转手机时,问题就出现了。只需几秒钟即可播放视频并停止播放。我在清单中设置了此配置

android:configChanges="orientation|keyboard|keyboardHidden|screenSize"

我的碎片类

public class YoutubePlayerFragment extends YouTubePlayerFragment {
    static YouTubePlayer player;
    static Boolean isPlayPlayer;
    static int playPosition;
    public YoutubePlayerFragment(){ }
    @Override
    public void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        this.setRetainInstance(true);
    }
    public static YoutubePlayerFragment newInstance(String url, String key){
        YoutubePlayerFragment fragment = new YoutubePlayerFragment();
        Bundle args = new Bundle();
        args.putString("url", url);
        args.putString("key", key);
        fragment.setArguments(args);
        fragment.init();
        return fragment;
    }
    private void init(){
        this.initialize(this.getArguments().getString("key"), new YouTubePlayer.OnInitializedListener() {
            @Override
            public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                player = youTubePlayer;
                if(!b){
                    youTubePlayer.cueVideo(getArguments().getString("url"));
                }else{
                    youTubePlayer.loadVideo(getArguments().getString("url"));
                }
            }
            @Override
            public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
            }
        });
    }
}

我还实现了onConfigurationChanged并调用player.play((,但它不起的作用

有什么建议吗!

我找到了解决问题的方法!问题出现在FrameLayout

我的初始代码

<FrameLayout
        android:id="@+id/homePageFrameLayoutVideo"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        />

工作代码

<FrameLayout
        android:id="@+id/homePageFrameLayoutVideo"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />

之前我的活动在AndroidManifest.xml 中是这样的

<activity android:name=".activity.FullVideoScreenActivity"/>

然后我在里面添加了单行代码,

<activity android:name=".activity.FullVideoScreenActivity"
        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"/>

它奏效了。希望这个解决方案能帮助其他人。感谢

我建议查看Android Monitor日志控制台。它可能说明了youtube视频视图被另一个视图覆盖的情况。在细节上,它给出了确切的细节(视图类型、id等(,哪个视图通过覆盖视频区域来中断youtube视频。

您应该使用

youTubePlayerFragment.setRetainInstance(true);

在初始化YouTubePlayerFragment之后,在您的onCreate方法中。

相关内容

  • 没有找到相关文章

最新更新