Hú, jó sokat szenvedtem a YouTube API-val, mert a top találatok a Google keresőben mind elavultak. Most itt összeszedem, hogyan kell YouTube videót YouTubePlayerView segítségével lejátszani, aztán nekem is meglesz, és más is megtalálhatja magyar nyelven.
1. lépés: API letöltése és beillesztése a projektbe
Első lépésként le kell tölteni a legfrissebb YouTube API-t innen: https://developers.google.com/youtube/android/player/downloads
Ezt a zip fájlt ki kell csomagolni, és a libs könyvtárból a YouTubeAndroidPlayerApi.jar fájlt át kell másolni az appunkba. Ehhez az Android nézetről át kell váltani a Project Files nézetbe, majd ott az app könyvtáron belül a libs könyvtárba illeszteni a jar fájlt.
Ezután vissza lehet váltani Android nézetre, és a meg kell nyitni a build.gradle (Module: app) fájt. Ott a dependencies-be be kell tenni ezt a függőséget:
compile files('libs/YouTubeAndroidPlayerApi.jar')
2. YouTubePlayerView beillesztése a layoutba
A következő lépés a YouTubePlayerView beillesztése a layoutba, ez les az, ahol a videó megjelenik majd. Itt egy minimál kód, ezt lehet tetszés szerint bővíteni:
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <com.google.android.youtube.player.YouTubePlayerView android:id="@+id/player" android:layout_width="0dp" android:layout_height="0dp" app:layout_constraintDimensionRatio="16:9" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
3. Fejlesztői kulcs kérése a Google Developers-től
Google Developers regisztráció
Projektek felkeresése a Developers konzolon
Új projekt létrehozása
Library megnyitása
YouTube Data API v3 kiválasztása
API engedélyezése
Credentials létrehozása
API kiválasztása
Hívás helyének megadása
Adat nyilvánosságának megadása
Credentials lekérése
API key kimásolása
4. YouTube videó betöltése és lejátszása
Végül nem marad más feladat, mint betölteni a videót, és lefuttatni a projektet. Ez most egy alap kód, és nem is magyarázom el, mert este fél 10 van, aki ebből nem érti, ő inkább az Android alapokkal kezdje. Két dolog azért fontos: Ahol a DEVELOPER_KEY van, oda kell beilleszteni az fentiekben megszerzett developer key-t.
A youTubePlayer.cueVideo paramétere pedig a YouTube videó linkje, ami nálam mindig a Liza és a Rókatündér zejéne. Az eredeti URL ez: https://www.youtube.com/watch?v=SdnjROOeS4c , így most a watch?v= mögötti részt kell kimásolni és a kódba illeszteni.
Itt a Java kód is:
package com.viktorjava.youtubetest; import android.os.Bundle; 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; public class MainActivity extends YouTubeBaseActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); YouTubePlayerView youTubePlayerView = (YouTubePlayerView) findViewById(R.id.player); youTubePlayerView.initialize("AIzaSyA7zi9iPdJ-2rrzOHHyxfeWsY1VQ_vT1cw", new YouTubePlayer.OnInitializedListener() { @Override public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) { youTubePlayer.cueVideo("SdnjROOeS4c"); } @Override public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) { } }); } }
Képernyőképek
Az applikáció futtatása állítva:
és fektetve:
Vélemény, hozzászólás?