2012-02-18 33 views
10

¿Podemos ver videos de youtube en la aplicación de Android? Quiero decir, si tenemos un enlace al video en youtube, ¿podemos reproducirlo en VideoView u otro widget? ¿Alguna idea al respecto?Cómo incrustar y reproducir un video de YouTube en Android

+0

¿Usted ha intentado un Google buscar al menos? Posible duplicado de http://stackoverflow.com/a/5798922/782719 – GETah

+10

No es necesario abrir el video en otra aplicación. Quiero jugarlo en mi aplicación. – user1021984

+0

Es muy simple, habilite la API de Youtube en la consola del desarrollador, descargue el archivo jar del reproductor de youtube e inclúyalo. Consulte este ejemplo http://www.feelzdroid.com/2017/01/embed-youtube-video-player-android-app-example.html – Naruto

Respuesta

0

hay una API oficial de YouTube androide del jugador de los que se podrá utilizar. Esto es un poco más complicado pero funciona mejor que otras soluciones que usan clientes web.

Primero debe registrar su aplicación en la Consola API de Googles. Esto es completamente gratuito hasta que su aplicación obtenga más de 25.000 solicitudes al mes (o algo así). Hay tutoriales completos y geniales debajo del enlace. Espero que puedas entenderlos. Si no, pregunta! :)

4

En primer lugar usted debe tratar de descargar la biblioteca del reproductor de Youtube para Android desde el siguiente enlace:

Youtube Android Player

primer lugar, debe instalar de esta manera: Proyecto -> menú: Archivo> Estructura> Dependencias Tab> Añadir -> dependencias de bibliotecas

si no funciona, pruebe uno de estos dos:

Agregar dependencia de la biblioteca dentro de la dependencia dentro de archivo de la biblioteca build.gradle ur utilizando, y pegue su biblioteca en Bibliotecas Externas.

O

sólo tiene que ir a la carpeta dentro de la carpeta libs aplicación y pegar todos los archivos .jar por ejemplo, la biblioteca allí Ahora el truco aquí es que ahora ve adentro archivo settings.gradle ahora añadir esta línea incluirá ': app: libs 'after include': app 'Definitivamente funcionará.

Entonces, usted debe tener un diseño como este:

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

Y usted puede tener una actividad de jugador como este:

import android.os.Bundle; 
import android.util.Log; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.widget.Toast; 
import com.google.android.youtube.player.YouTubeBaseActivity; 
import com.google.android.youtube.player.YouTubeInitializationResult; 
import com.google.android.youtube.player.YouTubePlayer; 
import com.google.android.youtube.player.YouTubePlayerView; 
import com.google.api.client.http.HttpRequest; 
import com.google.api.client.http.HttpRequestInitializer; 
import com.google.api.client.http.javanet.NetHttpTransport; 
import com.google.api.client.json.jackson2.JacksonFactory; 
import com.google.api.services.youtube.YouTube; 
import java.io.IOException; 

public class YoutubeActivity extends YouTubeBaseActivity{ 

    private YouTubePlayerView playerView; 
    private YouTube youtube; 

    @Override 
    protected void onCreate(Bundle bundle) { 
     super.onCreate(bundle); 

     setContentView(R.layout.activity_youtube); 

     youtube = new YouTube.Builder(new NetHttpTransport(), 
       new JacksonFactory(), new HttpRequestInitializer() { 
      @Override 
      public void initialize(HttpRequest hr) throws IOException {} 
     }).setApplicationName(this.getString(R.string.app_name)).build(); 


     playerView = (YouTubePlayerView)findViewById(R.id.player_view); 
     playerView.initialize("Your API Key", new YouTubePlayer.OnInitializedListener() { 
      @Override 
      public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) { 
       if(!b){ 
        String videoId = getIntent().getExtras().getString("videoID"); 
        youTubePlayer.cueVideo(videoId); 
       } 
      } 

      @Override 
      public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) { 
       Toast.makeText(getApplicationContext(), getString(R.string.failed), Toast.LENGTH_LONG).show(); 
      } 
     }); 
    } 

} 
+2

esta debería ser la respuesta aceptada –

0

pueden integrar los vídeos de YouTube utilizando YouTube SDK

con YouTube SDK puede tener muchas opciones, mientras que la integración de un video

para más http://www.androidcoding.in/2017/12/17/android-play-youtube-video-play-youtube-video-app/

private final class StateChangeListener implements YouTubePlayer.PlayerStateChangeListener { 

@Override 
public void onLoading() { 
} 

@Override 
public void onLoaded(String s) { 
    } 

    @Override 
    public void onAdStarted() { 
    } 

    @Override 
    public void onVideoStarted() { 
    } 

    @Override 
    public void onVideoEnded() { 
    } 

    @Override 
    public void onError(YouTubePlayer.ErrorReason errorReason) { 
     } 
     } 
Cuestiones relacionadas