Agrega la API de datos de YouTube a Android Studio
Por lo tanto, actualmente estoy jugando con la programación de Android en mi tiempo libre, y estoy usando el estudio de Android como mi ide de elección. Actualmente estoy intentando hacer una aplicación muy simple usando la api de youtube. Mi problema es que no puedo encontrar la forma de obtener la api en mi aplicación. He utilizado archivo> estructura del proyecto para agregar el material a mi aplicación, pero que no funciona por sí mismo. Deja de gritarme acerca de los errores de sintaxis, pero cuando compila errores.
Investigué esto un poco y he encontrado que tengo que añadir cosas a build.gradle o settings.gradle (o ambos), pero no he encontrado una respuesta definitiva sobre exactamente qué hacer. Todo lo que he intentado hasta ahora no ha funcionado. Así que si alguien podría explicarme lo que tengo que hacer, o vincularme a un lugar donde se explica qué hacer que sería genial
- Uso de Android Youtube API para reproducir secuencias en directo
- Aplicación de Android de Youtube Watch Me cerrando inesperadamente
- YouTubeAndroidPlayer en Android se bloquea en play ()
- YouTubePlayerSupportFragment inicia actividad duplicada
- Youtube YouTubePlayerSupportFragment no funciona correctamente (¿cargando siempre?)
–editar–
Estoy tan confundido ahora mismo. Empecé un nuevo proyecto. He añadido las libras y todavía era capaz de compilar. Entonces añadí las importaciones y lanzó errores al respecto. A continuación, agregó estos a la build.gradle y fue capaz de compilar perfectamente
compile fileTree(dir: 'libs/youtube', include: '*.jar') compile fileTree(dir: 'libs/youtube/libs', include: '*.jar')
Pero cuando he añadido este código que requiere la biblioteca
/** Global instance of the HTTP transport. */ private static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport(); /** Global instance of the JSON factory. */ private static final JsonFactory JSON_FACTORY = new JacksonFactory(); /** Global instance of Youtube object to make all API requests. */ private static YouTube youtube;
La sintaxis estaba bien, pero lanzó un error al compilarlo
Gradle: Execution failed for task ':Apitest:dexDebug'. > Failed to run command:
Y que fue seguido por alrededor de 100 líneas de archivos de ubicaciones
¿Alguna idea de lo que estoy haciendo mal?
- Android youtube cargar video con nombre de usuario y contraseña estáticos
- Aplicación de reproductor de youtube para Android, reproducción de Google rechazada para jugar en segundo plano
- Haciendo un perfecto reproductor Youtube de Chromeless en Android
- ¿Cómo iniciar la aplicación Youtube para abrir un canal?
- Transmisión en directo desde la aplicación de Android a Youtube
- API de YouTube para Android: YouTubePlayerFragment loading spinner
- ¿Cómo subir un video a YouTube en Android?
- Modo correcto de usar YouTube.Builder
Sólo tiene que añadir esta dependencia en el archivo gradle:
compile 'com.google.apis:google-api-services-youtube:v3-rev181-1.22.0'
Y utilizar el objeto de YouTube.
Referencia: https://developers.google.com/api-client-library/java/apis/youtube/v3
Paso 1: descargue YoutubeAndroidPlayerApi.jar desde https://developers.google.com/youtube/android/player/downloads/
Paso 2: pegarlo en la carpeta libs dentro de la carpeta de la aplicación del proyecto
Paso 3: Añada la siguiente línea a build.gradle en la carpeta de aplicación del proyecto:
compile files('libs/YouTubeAndroidPlayerApi.jar')
Paso 4: Agregue las importaciones siguientes a la actividad que extiende YouTubeBaseActivity
e implementa YouTubePlayer.OnInitializedListener
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.android.youtube.player.YouTubePlayer.Provider;
Paso 5: Dentro de método OnCreate
:
//Make sure you initialize youtube player YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view); youTubeView.initialize(YoutubeAPIKey, this);
Donde YouTubeAPIKey
que obtendría de la consola de google después de registrar su proyecto en modo web, no seleccione el dominio móvil como Android o cualquier
Paso 6: Métodos de sustitución en la interfaz implementada como:
@Override public void onInitializationFailure(Provider arg0, YouTubeInitializationResult error) { // TODO Auto-generated method stub Toast.makeText(this, "Oh no! "+error.toString(),Toast.LENGTH_LONG).show(); } @Override public void onInitializationSuccess(Provider arg0, YouTubePlayer player, boolean arg2) { // TODO Auto-generated method stub player.loadVideo(VIDEO_ID); }
Cuando VIDEO_ID se obtiene de la llamada RESTful a la API de Youtube en: " https://www.googleapis.com/youtube/v3/search " con parámetros adecuados aprobados en GET como "q, pertinenciaLanguage, type, key", etc.
- <AudioRecord> "No se pudo obtener la entrada de audio para la fuente de grabación 1"
- Soporte de RTL: deshabilitarlo sólo para componentes de interfaz de usuario específicos