Android YouTubePlayer 在播放器顶部带有未经授权的覆盖 [英] Android YouTubePlayer with unauthorized overlay on top of player
问题描述
我在 Fragment 中使用 YouTubePlayer(Android 版 YouTube api)我正在使用 YouTube 播放器对 LinearLayout 进行膨胀,如下所示:
I'm using YouTubePlayer (YouTube api for android) within a Fragment I am inflating a LinearLayout with the YouTube Player, in this way:
fragmentManager = getActivity().getSupportFragmentManager();
fragmentTransaction = fragmentManager.beginTransaction();
player = new YouTubePlayerSupportFragment();
fragmentTransaction.add(R.id.youTubePlayerContainer, player);
fragmentTransaction.commit();
...youTubePlayerContainer 是膨胀的 LinearLayout
...Where youTubePlayerContainer is the inflated LinearLayout
播放器被正确检测到,开始播放并在一秒钟内停止.日志显示如下:
The player is detected correctly, start playing and in a second stops. The Log shows the following:
YouTube video playback stopped due to unauthorized overlay on top of player.
The YouTubePlayerView is obscured by android.widget.FrameLayout@4110d1f8.
YouTubePlayerView is completely covered, with the distance in px between each edge of the obscuring view and the YouTubePlayerView being: left: 484, top: 100, right: 100, bottom: 170..
这是我的 XML:(其中没有 FrameLayout)
This is my XML: (No FrameLayout within it)
<LinearLayout
android:id="@+id/curtain"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/withApi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/youTubePlayerContainer"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="center"
android:layout_margin="30dp"
android:layout_weight="1"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:background="@color/trans_popUp"
android:padding="3dp" >
<TextView
android:id="@+id/textYouTubeVisor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title..."
android:textColor="@color/white" />
</LinearLayout>
</LinearLayout>
我尝试更改边距但没有成功.我阅读了官方文档但没有成功表示引起问题的FrameLayout为:android.widget.FrameLayout@4110d1f8但是用这样的引用并不能识别哪个引用
I tried changing the margins without success. I read the official documentation but without success Indicates that the FrameLayout that causes the problem is: android.widget.FrameLayout @ 4110d1f8 But with such a reference does not identify which refers
他对某人做了这件事?
感谢您的帮助.
问候
推荐答案
我今天遇到了同样的问题,对我来说日志中的错误是:
I faced the same problem today, and for me the error in the logs was:
W/YouTubeAndroidPlayerAPI﹕ YouTube video playback stopped due to unauthorized overlay on top of player. The YouTubePlayerView is not contained inside its ancestor com.google.android.youtube.player.YouTubePlayerView{42686bc8 V.E..... ........ 0,0-1200,675 #7f0a00a0 app:id/video_player}. The distances between the ancestor's edges and that of the YouTubePlayerView is: left: -10, top: -10, right: -10, bottom: -10 (these should all be positive).
我通过删除布局中 YouTubePlayerView 中的填充来解决此问题.所以我的布局是这样的:
I fixed this by removing the padding in the YouTubePlayerView in the layout. So my layout looks like this:
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/video_player"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#000" />
这篇关于Android YouTubePlayer 在播放器顶部带有未经授权的覆盖的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!