Inicialización del reproductor de YouTube en Fragmento
Por favor, aguanta conmigo, ya que soy bastante nuevo para Android. Estoy intentando inicializar el jugador de Youtube en una clase del fragmento. Google ya ha proporcionado el método para inicializar en la actividad que va como sigue:
package com.examples.youtubeapidemo; import com.google.android.youtube.player.YouTubeBaseActivity; import com.google.android.youtube.player.YouTubePlayer; import com.google.android.youtube.player.YouTubePlayerView; import android.os.Bundle; public class PlayerViewDemoActivity extends YouTubeFailureRecoveryActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.playerview_demo); YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view); youTubeView.initialize(DeveloperKey.DEVELOPER_KEY, this); } @Override public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) { if (!wasRestored) { player.cueVideo("wKJ9KzGQq0w"); } } @Override protected YouTubePlayer.Provider getYouTubePlayerProvider() { return (YouTubePlayerView) findViewById(R.id.youtube_view); } }
He intentado usar este código pero no funciona:
- Los videos de incrustación de YouTube no funcionan en la vista web. ¿Qué tiene de malo este código?
- Pantalla blanca tras cerrar el video de pantalla completa abierto desde WebView
- ¿Está prohibido transmitir vídeo de YouTube en segundo plano?
- Cómo jugar auto iframe youtube en webview android
- YouTube Android Player API INTERNAL_ERROR para varios videos
public class TabFragment5 extends YouTubePlayerFragment implements YouTubePlayer.OnInitializedListener { /** (non-Javadoc) * @see android.support.v4.app.Fragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) */ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (container == null) { return null; } YouTubePlayerFragment yf = newInstance(); //new YouTubePlayerFragment(); yf.initialize("dsds", this); return (LinearLayout)inflater.inflate(R.layout.tab_frag4_layout, container, false); } @Override public void onInitializationFailure(Provider arg0, YouTubeInitializationResult arg1) { // TODO Auto-generated method stub } @Override public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) { if (!wasRestored) { player.cueVideo("nCgQDjiotG0"); } } }
Estaría muy agradecido si cualquier persona puede proporcionar la API equivalente para el fragmento.
Gracias
- ¿Cómo podemos reproducir código incrustado de YouTube en una aplicación de Android mediante webview?
- Cómo buscar videos con la API de datos de YouTube en Android
- Android / Java: comprueba si url es url válida de youtube
- iniciar sesión en youtube desde android
- YouTube Player API en android ya no funciona bien
- Excepción de clase no encontrada al ejecutar demostraciones de API de YouTube para Android
- la forma actual recomendada para reproducir vídeo de youtube en todos los dispositivos Android
- ¿Cómo puedo reproducir vídeos de Youtube en un diseño personalizado de Android?
Intente utilizar el siguiente ejemplo:
Fragmento.xml
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".VideoFragment" > <fragment android:name="com.google.android.youtube.player.YouTubePlayerFragment" android:id="@+id/youtubeplayerfragment" android:layout_width="match_parent" android:layout_height="wrap_content"/> </RelativeLayout>
Creación de fragmentos
VideoFragment videoFragment = VideoFragment.newInstance(VIDEO_ID);
VideoFragment
public class VideoFragment extends YouTubePlayerSupportFragment { public static final String DEVELOPER_ANDROID_KEY = "KEY"; public static VideoFragment newInstance(String url) { VideoFragment videoFragment = new VideoFragment(); Bundle bundle = new Bundle(); bundle.putString("url", url); videoFragment.setArguments(bundle); videoFragment.init(0); return videoFragment; } private void init(final int time) { initialize(DEVELOPER_ANDROID_KEY, new OnInitializedListener() { @Override public void onInitializationFailure(Provider arg0, YouTubeInitializationResult arg1) { } @Override public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) { mPlayer.setPlayerStyle(YouTubePlayer.PlayerStyle.DEFAULT); id = getArguments().getString("url"); if (!wasRestored) { mPlayer.loadVideo(id, time); } } }); } }
- ¿Por qué mi FFT ofrece una salida de visualizador diferente de Windows Media Player?
- ¿Hay alguna forma de mostrar pilas de Acivity para Android?