Android YouTubePlayer con superposición no autorizada encima del reproductor

Estoy usando YouTubePlayer (api de YouTube para android) dentro de un fragmento Estoy inflando un LinearLayout con el reproductor de YouTube, de esta manera:

fragmentManager = getActivity().getSupportFragmentManager(); fragmentTransaction = fragmentManager.beginTransaction(); player = new YouTubePlayerSupportFragment(); fragmentTransaction.add(R.id.youTubePlayerContainer, player); fragmentTransaction.commit(); 

… Donde youTubePlayerContainer es el LinearLayout inflado

El reproductor se detecta correctamente, empieza a jugar y en un segundo se detiene. El registro muestra lo siguiente:

 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.. 

Este es mi XML: (No FrameLayout dentro de él)

  <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> 

Traté de cambiar los márgenes sin éxito. He leído la documentación oficial pero sin éxito Indica que el FrameLayout que causa el problema es: android.widget.FrameLayout @ 4110d1f8 Pero con tal referencia no se identifica que se refiere

A alguien que hizo esto?

Aprecio cualquier ayuda.

Saludos

¿Fue capaz de resolver este problema?

Me enfrenté al mismo problema hoy, y para mí el error en los registros fue:

 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 VE.... ........ 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). 

Fijé esto quitando el acolchado en YouTubePlayerView en la disposición. Así que mi diseño se ve así:

 <com.google.android.youtube.player.YouTubePlayerView android:id="@+id/video_player" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#000" /> 

El problema es solo el diseño, el reproductor de youtube no permite que nadie se quede sobre esto, lo mismo invisible o transparente.

En camino a descubrir esto es con la opción de desarrollador mostrar los límites de diseño. (Advertencia con rellenos y márgenes)

Intentar comentar otras vistas en su diseño y probar de nuevo por favor.

Youtube Player descubre algunas vistas que lo superponen. Sólo tienes que quitar las vistas o setVisible (View.GONE) para ellos. Por favor, consulte este enlace para obtener más información Solución

El código de demostración de la API de Android utiliza este diseño para la demostración Fragment, tal vez eso puede hacer que las ideas vayan. Consulta esta página: https://developers.google.com/youtube/android/player/

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:textAppearance="@android:style/TextAppearance.Small" android:gravity="center" android:text="@string/playerfragment_text"/> <fragment android:name="com.google.android.youtube.player.YouTubePlayerFragment" android:id="@+id/youtube_fragment" android:layout_width="match_parent" android:layout_height="wrap_content"/> </LinearLayout> 

Debe eliminar cualquier atributo de relleno en la vista de vídeo.

Incorrecto:

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <com.google.android.youtube.player.YouTubePlayerView android:id="@+id/youtube_player" android:layout_width="match_parent" android:layout_height="match_parent" **android:padding="10dp"** /> </LinearLayout> 

Derecha:

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <com.google.android.youtube.player.YouTubePlayerView android:id="@+id/youtube_player" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> 
  • ¿Cómo puedo reproducir vídeos de YouTube en una aplicación de Android si un usuario no tiene instalada la aplicación de YouTube?
  • Error: YouTubeService ha filtrado IntentReceiver ... ¿Te ha faltado una llamada a unregisterReceiver ()?
  • ¿Cómo subir videos a youtube en android?
  • El método de reproducción de la API de IFrame de YouTube no funciona antes de tocar algunas tabletas Android
  • Cómo buscar videos con la API de datos de YouTube en Android
  • Cómo incrustar vídeo de Youtube en Android WebView?
  • Cómo cargar las miniaturas de Youtube en un RecyclerView utilizando la API de Youtube
  • Anuncios de Youtube antes del video dirigido
  • Se ha superado el límite diario de uso no autenticado. El uso continuo requiere registrarse
  • No se pueden reproducir algunos vídeos de Youtube con la API de reproductor de YouTube para Android
  • API de YouTube para Android: YouTubePlayerFragment loading spinner
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.