【问题标题】:YouTube video playback stopped due to unauthorized overlay on top of player getting error由于播放器顶部出现未经授权的叠加,YouTube 视频播放停止
【发布时间】:2018-04-16 01:51:27
【问题描述】:

我无法在 (Support)ViewPager 中使用 YouTubePlayerSupportFragment。一切正常,除非我来恢复方法 youtube 播放器播放几秒钟,然后它将被暂停。出现错误。

我的布局..

   ..

            <FrameLayout
                android:id="@+id/youtube_layout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1" />

            <android.support.v4.widget.SwipeRefreshLayout
                android:id="@+id/swipeRefreshLayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1" >

                <android.support.v7.widget.RecyclerView
                    android:id="@+id/recyclerCardList"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:divider="@color/colorPrimaryDark"
                    android:dividerHeight="8dp"
                    android:scrollbars="vertical" />
            </android.support.v4.widget.SwipeRefreshLayout>
        </LinearLayout>

我的代码:

private void setYoutubePlayer() {

    YouTubePlayerSupportFragment youTubePlayerFragment = YouTubePlayerSupportFragment.newInstance();

    FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
    transaction.add(R.id.youtube_layout, youTubePlayerFragment)
            .addToBackStack(youTubePlayerFragment.getClass().getName()).commitAllowingStateLoss();

    youTubePlayerFragment.initialize(Config.DEVELOPER_KEY, new OnInitializedListener() {

        @Override
        public void onInitializationSuccess(Provider provider, YouTubePlayer player, boolean wasRestored) {
            if (!wasRestored) {
                player.setPlayerStyle(YouTubePlayer.PlayerStyle.DEFAULT);

                player.loadVideo(Config.YOUTUBE_VIDEO_CODE);
                player.play();

            }

        }

        @Override
        public void onInitializationFailure(Provider provider, YouTubeInitializationResult error) {
            // YouTube error
            String errorMessage = error.toString();
            Toast.makeText(getActivity(), errorMessage, Toast.LENGTH_LONG).show();
            Log.d("errorMessage:", errorMessage);
        }
    });
}

【问题讨论】:

    标签: android android-layout android-fragments youtube-api android-youtube-api


    【解决方案1】:

    我认为问题出在布局上,据我记得,YouTube 播放器不允许任何视图停留在它上面,既不可见也不透明。为了使其在您的设备中可见,请在开发人员选项中启用布局边界(使用填充和边距警告)。所以,我认为你必须确保你的 youtube 布局顶部没有其他视图。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2017-09-15
      • 2018-08-29
      • 2018-08-30
      • 2016-07-31
      • 2017-05-19
      • 2015-04-10
      • 1970-01-01
      • 2018-08-23
      • 2013-01-25
      相关资源
      最近更新 更多