YouTubeAndroidPlayerApi YouTubePlayerFragment在全屏模式下无法加载

问题描述

我们已经使用YouTubeAndroidplayerApi播放视频已有一段时间了。该库的版本为1.2.2。我目前正在更新应用程序库并发布更新。该应用程序设置为targetSdk和compileSdk为28。

全屏启动播放器时,正在显示加载微调器。如果我删除该行,视频将按预期播放。

布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000">

    <com.google.android.material.appbar.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="center"
                android:src="@drawable/logo"
                tools:ignore="ContentDescription" />

            <androidx.appcompat.widget.Toolbar
                android:id="@+id/toolbar"
                android:theme="@style/FullScreenToolbarTheme"
                android:layout_width="match_parent"
                android:layout_height="?actionBarSize" />
        </FrameLayout>
    </com.google.android.material.appbar.AppBarLayout>

    <LinearLayout
        android:id="@+id/video_close_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="top|left"
        android:layout_marginEnd="16dp"
        android:layout_marginTop="16dp">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:text="@string/video_player_close"
            android:textColor="#FFFFFF"
            android:textSize="16sp"
            android:textStyle="bold" />
    </LinearLayout>


    <fragment
        android:name="com.google.android.youtube.player.YouTubePlayerFragment"
        android:id="@+id/youtube_player_fragment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scaleType="fitXY"
        android:layout_gravity="center_vertical"
        android:layout_weight="1" />

</LinearLayout>

VideoPlayerActivity:

/***
* initialize youtube player via Fragment
*/

private void initializeYouTubePlayer(String videoURL) {

    youTubePlayerFragment = (YouTubePlayerFragment) getFragmentManager().findFragmentById(R.id.youtube_player_fragment);

        if (youTubePlayerFragment == null)
            return;

        closeVideoButton.setonClickListener(v -> {

            closeVideoPlayer();

        });

        String yt_api_key = getString(R.string.youtube_api_key);

        youTubePlayerFragment.initialize(yt_api_key,new YouTubePlayer.OnInitializedListener() {

            @Override
            public void onInitializationSuccess(YouTubePlayer.Provider provider,YouTubePlayer player,boolean wasRestored) {

                String videoID = getURLParameter(videoURL,"v");

                youTubePlayer = player;
                //set the player style default
                youTubePlayer.setPlayerStyle(YouTubePlayer.PlayerStyle.DEFAULT);

                if (!wasRestored) {
                    youTubePlayer.setFullscreen(true); // THIS LINE
                    youTubePlayer.loadVideo(videoID);
                }

            }

            @Override
            public void onInitializationFailure(YouTubePlayer.Provider arg0,YouTubeInitializationResult arg1) {

                //print or show error if initialization Failed
                Log.e(TAG,"Youtube Player View initialization Failed");
            }

        });
    }

当我注释掉youTubePlayer.setFullscreen(true);行时,视频将加载。当我恢复此行时,全屏播放器启动,但是加载微调器不会消失。我已经尝试过this solution,但这也不起作用。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)