Zobrazujte videá YouTube, Vimeo a Dailymotion vo svojich aplikáciách pre Android

Autor: Laura McKinney
Dátum Stvorenia: 3 Lang L: none (month-011) 2021
Dátum Aktualizácie: 9 Smieť 2024
Anonim
Zobrazujte videá YouTube, Vimeo a Dailymotion vo svojich aplikáciách pre Android - Aplikácie
Zobrazujte videá YouTube, Vimeo a Dailymotion vo svojich aplikáciách pre Android - Aplikácie

Obsah


Akonáhle je MediaController viditeľný na obrazovke, môžete video prehrať, pozastaviť, pretočiť dozadu a rýchlo dopredu a preskočiť na ľubovoľný bod v klipe pretiahnutím ukazovateľa priebehu MediaController.

Ako vložiť videá YouTube do aplikácie pre Android

Vloženie video súboru do vašej aplikácie je vynikajúci spôsob, ako zaistiť, aby bolo video vždy k dispozícii bez ohľadu na internetové pripojenie zariadenia. Vkladanie viacerých veľkých videí s vysokým rozlíšením do aplikácie je však tiež skvelým spôsobom, ako zväčšiť veľkosť súboru APK!

Ak sa obávate veľkosti súboru APK alebo ak vaša aplikácia obsahuje videá, ktoré sú príjemné, je možné, že budete chcieť tieto videá zverejniť na online platforme a potom ich za behu streamovať prostredníctvom svojej aplikácie.


Pokiaľ ide o publikovanie videí online, je tu vždy jeden web, na ktorý by ste mali okamžite myslieť, takže v tejto časti vám ukážem, ako vložiť akýkoľvek Video YouTube vo vašej aplikácii pomocou klientskej knižnice API rozhrania Android Android Player API.

Načítanie ID videa YouTube

Ak chcete začať, musíte sa rozhodnúť, ktoré video YouTube chcete zobraziť, a potom načítať jeho jedinečné video ID.

Môžete použiť akékoľvek video z YouTube, ale volím si obľúbenú techniku ​​roku 2018. Načítajte vybrané video a pozrite si jeho webovú adresu v paneli s adresou v prehliadači, napríklad webová adresa pre video je:

youtube.com/watch?v=hJLBcViaX8Q

ID je časť adresy URL, ktorá jednoznačne identifikuje toto video, čo je reťazec znakov na konci adresy URL (v podstate všetko za symbolom „=“). ID videa pre video je:


hJLBcViaX8Q

Poznačte si ID svojho videa, pretože to budeme používať neskôr.

Získajte odtlačok prsta SHA-1 vášho projektu

Ak chcete získať prístup k rozhraniu API pre Android Android YouTube, musíte vygenerovať kľúč API s obmedzeniami pre systém Android. Ide o prepojenie kľúča API s jedinečným názvom balíka a odtlačkom certifikátu projektu (SHA-1).

Odtlačok prsta SHA-1 vášho projektu môžete získať prostredníctvom konzoly Gradle:

  • Vyberte kartu Stupeň pozdĺž pravej strany okna aplikácie Android Studio.
  • Vyberte modul „aplikácia“ a potom „Úlohy> Android> Podpis správy.“

  • Otvorte kartu Konzola mierky, ktorá sa objaví v pravom dolnom rohu obrazovky.
  • Konzola Gradle sa automaticky otvorí. V tomto okne nájdite hodnotu SHA-1 a poznačte si ju.

Používame odtlačok odtlačku certifikátu ladenia, ktorý je vhodný iba na testovanie aplikácie. Pred zverejnením aplikácie by ste vždy mali vygenerovať nový kľúč API na základe osvedčenia o vydaní tejto aplikácie.

Zaregistrujte sa v Konzole Google API

Predtým, ako budete môcť používať rozhranie YouTube Android Player API, musíte svoju aplikáciu zaregistrovať v Konzole Google API:

  • Choďte do konzoly API.
    V hlavičke vyberte názov aktuálneho projektu (kde je kurzor umiestnený na nasledujúcej snímke obrazovky).

  • V nasledujúcom okne vyberte možnosť „Nový projekt“.
  • Pomenujte svoj projekt a potom kliknite na tlačidlo Vytvoriť.
  • V ponuke naľavo vyberte možnosť „Poverenia“.
  • Kliknite na modré tlačidlo „Vytvoriť poverenia“ a potom vyberte „Kľúč API“.
  • Váš kľúč API sa teraz zobrazí v kontextovom okne, ktoré obsahuje výzvu na obmedzenie tohto kľúča API. Obmedzené kľúče sú bezpečnejšie, takže ak nevyžadujete výslovne neobmedzený kľúč API, vyberte možnosť Obmedziť kľúč.
  • Na nasledujúcej obrazovke zadajte svojmu API kľúču charakteristický názov.
  • Vyberte prepínač „Aplikácie pre Android“.
  • Kliknite na položku Pridať názov balíka a odtlačok prsta.
  • Skopírujte / vložte odtlačok prsta SHA-1 projektu do nasledujúcej časti a potom zadajte názov balíka projektu (ktorý sa zobrazuje v hornej časti každého súboru triedy Java a v manifestu projektu).
  • Ak ste spokojní so zadanými informáciami, kliknite na tlačidlo Uložiť.

Stiahnite si rozhranie API pre Android Android Player

Ďalej si budete musieť stiahnuť klientsku knižnicu API rozhrania Android Android Player API. Pri používaní tejto knižnice sa odporúča povoliť program ProGuard, ktorý vám pomôže udržať APK čo najľahší.

Pridanie knižnice YouTube do vášho projektu:

  • Prejdite na web YouTube Android Player a stiahnite si najnovšiu verziu.
  • Rozbaľte nasledujúci súbor zip.
  • Otvorte novo rozbalený priečinok a prejdite do jeho podpriečinka „libs“ - mal by obsahovať súbor „YouTubeAndroidPlayerApi.jar“.
  • V aplikácii Android Studio prepnite na zobrazenie Projekt.
  • Ak chcete zaistiť, aby bola knižnica YouTube súčasťou vašej cesty zostavenia, musíte importovať súbor .jar do „/ libs ”. Otvorte priečinok „app / libs“ vášho projektu a potom pretiahnite súbor .jar na svoje miesto.

  • Otvorte súbor build.gradle a do závislosti od projektu pridajte knižnicu YouTube:

závislosti {implementačný súborTree (adresár: libs, zahŕňajú:) implementácia com.android.support:appcompat-v7:28.0.0 implementácia com.android.support:design:28.0.0 implementácia com.android.support.constraint: constraint-layout : 1.1.3 testImplementation junit: junit: 4.12 androidTestImplementation com.android.support.test: runner: 1.0.2 // Pridajte nasledujúce // implementačné súbory (libs / YouTubeAndroidPlayerApi.jar)}

  • Po zobrazení výzvy synchronizujte svoje súbory Gradle.

Aktualizujte svoj manifest

Ak sa vaša aplikácia zobrazí akýkoľvek online videoobsahu, potom bude potrebný prístup na internet.

Otvorte manifest projektu a pridajte povolenie na internet:

Aby som dal užívateľovi chutnú skúsenosť so širokouhlým filmom, nastavujem tiež spustenie MainActivity v režime na šírku:

Vytvorenie rozloženia prehrávača YouTube

Video YouTube môžete zobraziť pomocou jedného z nasledujúcich spôsobov:

  • YouTubePlayerView. Ak chcete vo svojom rozložení použiť aplikáciu YouTubePlayerView, budete musieť rozšíriť príslušnú triedu aktivity tohto rozloženia YouTubeBaseActivity.
  • YouTubePlayerFragment. Toto je fragment, ktorý obsahuje YouTubePlayerView. Ak sa rozhodnete implementovať YouTubePlayerFragment, potom vy nebude sa musia rozširovať z YouTubeBaseActivity.

Používam YouTubePlayerView, otvorte teda súbor „activity_main.xml“ vo vašom projekte a pridajte miniaplikáciu YouTubePlayerView:

Implementácia prehrávača YouTube

Potom otvorte svoju MainActivity a vykonajte nasledujúce úlohy:

1. Rozšírte službu YouTubeBaseActivity

Keďže v našom rozložení používame prehliadač YouTubePlayerView, musíme rozšíriť pôsobnosť YouTubeBaseActivity:

public class MainActivity rozširuje YouTubeBaseActivity {

2. Inicializujte prehrávač YouTube

Prehrávač YouTube Player inicializujeme volaním initialize () a odovzdaním kľúča API, ktorý sme vytvorili predtým:

YouTubePlayerView youTubePlayerView = (YouTubePlayerView) findViewById (R.id.YouTubePlayer); youTubePlayerView.initialize (YOUR_API_KEY, nový YouTubePlayer.OnInitialized Listener () {

3. Vykonajte onInitializationPrístup a onInitializationFailure

Nakoniec musíme špecifikovať, ako má naša aplikácia reagovať, v závislosti od toho, či je inicializácia úspešná alebo neúspešná. Ak sa prehrávač YouTube Player úspešne inicializuje, môžeme načítať naše video odovzdaním jedinečného ID videa:

public void onInitializationSuccess (YouTubePlayer.Provider Poskytovateľ, YouTubePlayer youTubePlayer, boolean b) {// Zadajte video ID // youTubePlayer.loadVideo ("hJLBcViaX8Q");

Ďalej musíme našej aplikácii povedať, ako by mala zvládnuť neúspešné inicializácie. Zobrazím prípitok:

public void onInitializationFailure (YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {Toast.makeText (MainActivity.this, "Vyskytla sa chyba", Toast.LENGTH_SHORT) .show (); }

Prehrávanie videa YouTube: Dokončený kód

Pridajte všetky vyššie uvedené položky do svojej MainActivity a mali by ste skončiť s niečím ako je toto:

import android.os.Bundle; importovať android.widget.Toast; import com.google.android.youtube.player.YouTubeBaseActivity; import com.google.android.youtube.player.YouTubeInitializationResult; importovať com.google.android.youtube.player.YouTubePlayer; import com.google.android.youtube.player.YouTubePlayerView; // Rozšírenie YouTubeBaseActivity // public class MainActivity rozširuje YouTubeBaseActivity {// Nezabudnite to nahradiť svojím vlastným jedinečným kľúčom API // public static final String YOUR_API_KEY = "YOUR_API_KEY_HERE"; @Override chránené void onCreate (Bundle uloženéInstanceState) {super.onCreate (uloženéInstanceState); setContentView (R.layout.activity_main); YouTubePlayerView youTubePlayerView = (YouTubePlayerView) findViewById (R.id.YouTubePlayer); // Inicializácia prehrávača YouTube // youTubePlayerView.initialize (YOUR_API_KEY, nový YouTubePlayer.OnInitializedListener () {@Override // Ak sa prehrávač YouTube Player úspešne inicializuje ... // verejné vyprázdnenie onInitializationSuccess (YouTubePlayer.Poskytovateľ služieb, YouTubePlayer youTubePlayer, boolean b) {//.. Potom začnite prehrávať nasledujúce video // youTubePlayer.loadVideo ("hJLBcViaX8Q");} @Override // Ak zlyhá inicializácia ... // verejné void onInitializationFailure (YouTubePlayer.Provider provider, YouTubeInitializationVýsledok youTubeInitializationResult) {//...konáhle sa zobrazí prípitok // Toast.makeText (MainActivity.this, „Vyskytla sa chyba“, Toast.LENGTH_SHORT) .show ();}}); }}

Testovanie rozhrania API pre Android Android YouTube

Túto aplikáciu môžete otestovať na fyzickom telefóne alebo tablete s Androidom alebo na AVD. Ak používate AVD, uistite sa, že používate obraz systému, ktorý obsahuje služby Google Play. Aplikácia YouTube musí byť nainštalovaná aj na AVD alebo fyzickom zariadení s Androidom, pretože rozhranie API YouTube sa spolieha na službu, ktorá je distribuovaná ako súčasť aplikácie YouTube pre Android.

Nainštalujte projekt do svojho zariadenia a video YouTube by sa malo začať prehrávať automaticky ihneď po načítaní aplikácie. Ak klepnete na video, budete mať prístup ku všetkým známym ovládacím prvkom YouTube, ktoré môžete použiť na pozastavenie, prehrávanie, rýchly posun vpred a vzad.

Zobraziť obsah Dailymotion vo webovom zobrazení

Pokiaľ ide o vkladanie videí do vašej aplikácie pre Android, existuje široká škála platforiem na zdieľanie videí, z ktorých si môžete vybrať, a niektoré platformy dokonca vytvorili súpravy SDK určené na pomoc pri interakcii s ich obsahom - vrátane Dailymotion.

Súprava Dailymotion Player SDK pre Android poskytuje tenký obal okolo komponentu WebView pre Android, ktorý uľahčuje vkladanie videí Dailymotion do vašich aplikácií.

V tejto časti vám ukážem, ako streamovať akékoľvek video z webu Dailymotion pomocou súpravy SDK Dailymotion Player od tretej strany.

Získajte ID videa Dailymotion

Najprv prejdite na Dailymotion, vyhľadajte video, ktoré chcete zobraziť, a potom získajte jeho ID videa.

Používam tento časosběrný videozáznam hmly, ktorý má nasledujúcu adresu URL:

www.dailymotion.com/video/x71jlg3

ID videa je jedinečný reťazec znakov na konci jeho adresy URL, takže moje ID videa je: x71jlg3.

Pridáva sa súprava Dailymotion SDK

Keďže používame súpravu Dailymotion SDK, musíme ju vyhlásiť za závislosť od projektu. Otvorte súbor build.gradle projektu a pridajte nasledujúce:

závislosti {implementácia fileTree (dir: libs, include:) // Pridajte nasledujúcu // implementáciu com.dailymotion.dailymotion-sdk-android: sdk: 0.1.29 implementácia com.android.support:appcompat-v7:28.0.0 implementácia implementácia com.android.support:design:28.0.0 com.android.support.constraint: constraint-layout: 1.1.3 testImplementation junit: junit: 4.12 androidTestImplementation com.android.support.test: runner: 1.0.2}

Po zobrazení výzvy vyberte možnosť „Synchronizovať projekt so súbormi gradle“.

Upozorňujeme, že v predvolenom nastavení vám súprava Dailymotion SDK poskytuje prístup iba k verejným údajom spoločnosti Dailymotion, ako je napríklad názov a popis videa.Niektoré ďalšie úlohy môžete vykonať tak, že zaregistrujete svoju aplikáciu na platforme Dailymotion, ale keďže chceme iba vložiť video, nemusíme sa starať o registráciu našej aplikácie.

Ak máte záujem pridať ďalšie aplikácie Dailymotion do svojich aplikácií, môžete sa dozvedieť viac o registrácii svojej aplikácie v Dailymotion, ďalej v oficiálnych dokumentoch.

Vyžaduje sa prístup na internet

Znova vysielame obsah z webu, takže náš projekt vyžaduje povolenie na internet:

Každá aktivita, ktorá zobrazuje obsah Dailymotion, musí mať atribút „android: configChanges“, takže do svojej hlavnej aktivity pridajte nasledujúce položky:

Pridáva sa miniaplikácia PlayerWebView od spoločnosti Dailymotion

Hlavnou súčasťou súpravy Dailymotion SDK je prvok používateľského rozhrania PlayerWebView, ktorý poskytuje tenký obal okolo súčasti WebView systému Android.

Podrobnejšie preskúmame webové zobrazenia v nasledujúcej časti, ale webové zobrazenia vám v podstate poskytujú spôsob, ako vložiť webové stránky do vašej aplikácie. Ak by sme nepoužívali špecializovaný prehrávač PlayerWebView SDK, mohli by sme pomocou komponentu vanilla WebView pre systém Android zobraziť celú webovú stránku Dailymotion v našej aplikácii.

Namiesto toho pridajme PlayerWebView do nášho rozloženia:

Konfigurácia nášho Dailymotion PlayerWebView

Teraz sme implementovali miniaplikáciu PlayerWebView, potrebujeme nakonfigurovať prehrávač v našej príslušnej triede Aktivita.

Otvorte svoju MainActivity a začnite odkazom na PlayerWebView:

dailyMotionPlayer = (PlayerWebView) findViewById (R.id.dailymotionPlayer);

Potom zavolajte na „dailyMotionPlayer.load“ a odovzdajte ID videa, ktoré sme získali skôr:

dailyMotionPlayer.load ( "x71jlg3");

Toto nám dáva nasledovné:

import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import com.dailymotion.android.player.sdk.PlayerWebView; importovať java.util.HashMap; import java.util.Map; public class MainActivity rozširuje AppCompatActivity {private PlayerWebView dailyMotionPlayer; @Override chránené void onCreate (Bundle uloženéInstanceState) {super.onCreate (uloženéInstanceState); setContentView (R.layout.activity_main); // Načítať náš PlayerWebView // dailyMotionPlayer = (PlayerWebView) findViewById (R.id.dailymotionPlayer); mapa playerParams = new HashMap <> (); // Načítajte video s našimi parametrami // playerParams.put ("key", "value"); // Predajte ID videa // dailyMotionPlayer.load ("x71jlg3"); }}

Nainštalujte svoj projekt na fyzické zariadenie alebo emulátor Android a vaše video Dailymotion by sa malo začať prehrávať automaticky.

Vkladanie videa Vimeo

Pokiaľ ide o vkladanie videoobsahu, zvyčajne budete chcieť používať rozhranie API špecifické pre danú platformu alebo súpravu SDK pre konkrétnu platformu všade, kde je to možné. Čo ak však nie je k dispozícii súprava SDK alebo API pre platformu na zdieľanie videa, ktorú máte na mysli?

V týchto scenároch môžete použiť komponent WebView systému Android na zobrazenie videa ako webovej stránky, ktorá je vložená do rozloženia vašej aktivity. V tejto záverečnej časti vám ukážem, ako vložiť video z populárnej platformy Vimeo pomocou WebView.

Webové zobrazenia môžu byť okrem zobrazovania videoobsahu užitočné aj v mnohých ďalších scenároch. Predstavte si napríklad, že máte nejaký obsah, ktorý je potrebné pravidelne aktualizovať; hosťovaním tohto obsahu online a jeho zobrazením vo vašej aplikácii prostredníctvom WebView získate flexibilitu kedykoľvek zmeniť tento obsah online bez toho, aby ste museli zverejňovať novú verziu svojej aplikácie. Pri používaní webových zobrazení však buďte opatrní, pretože nepodporujú veľa funkcií, ktoré zvyčajne očakávate od samostatného webového prehľadávača. WebView nemá najmä adresný riadok alebo navigačné ovládacie prvky, ktoré používateľom môžu sťažiť interakciu s ich obsahom.

Pred použitím webového zobrazenia by ste mali vždy zvážiť, či by nebolo vhodnejšie alternatívne riešenie, napríklad by ste mohli presunúť obsah do predvoleného webového prehľadávača zariadenia alebo implementovať vlastné karty Chrome.

Aktualizácia manifestu

Keďže streamujeme video z internetu, musíme do nášho manifestu Manifest pridať povolenie na internet:

Taktiež uvediem MainActivity v režime na šírku:

Pridanie webového zobrazenia do nášho používateľského rozhrania

Ďalej pridajme WebView do našej aplikácie. Webové zobrazenie môžeme buď pridať do rozloženia našej aktivity, alebo celú aktivitu zmeniť na webové zobrazenie implementáciou do metódy onCreate () našej aplikácie.

Do rozloženia našej aplikácie pridám WebView:

Vyberte si svoje video

Ešte raz potrebujeme zobrazenie videa, ale tentoraz sme nie pomocou ID videa:

  • Zamierte na Vimeo a vyberte video, ktoré chcete použiť; Rozhodol som sa pre tento zimný časový odstup.
  • Kliknite na tlačidlo „Zdieľať“.
  • Vyberte ikonu „Vložiť“; získate kód na vloženie, ktorý by mal vyzerať asi takto:

Tento kód poskytuje nasledujúce informácie:

  • iframe. Určuje, že do aktuálneho kontextu vkladáme ďalšiu stránku HTML.
  • src. Cesta videa, takže vaša aplikácia vie, kde nájsť toto video.
  • šírka výška. Rozmery videa.
  • frameborder. Či sa má zobraziť rám okolo videa. Možné hodnoty sú hranica (1) a žiadna hranica (0).
  • allowFullScreen. To umožňuje zobrazenie videa v režime celej obrazovky.

Tento kód na vloženie pridám do svojho projektu ako reťazec, preto musíte tieto informácie skopírovať / vložiť do nasledujúcej šablóny:

String vimeoVideo = "VÁŠ LINK ZÍSKAL TU';

Predtým, ako bude kód na vloženie kompatibilný s našou aplikáciou pre Android, musíme urobiť niekoľko zmien. Najprv musíme pridať niekoľko znakov „“, aby si Android Studio nestěžovalo na nesprávne formátovanie:

String vimeoVideo = "';

Nakoniec môžu byť predvolené rozmery videa pre niektoré smartfóny s Androidom príliš veľké.
Vo výrobe by ste zvyčajne experimentovali s rôznymi rozmermi, aby ste zistili, čo prináša najlepšie výsledky, na čo najväčšom počte rôznych konfigurácií obrazovky. S cieľom zabrániť tomu, aby sa tento článok dostal mimo kontroly, používam iba nasledujúce informácie, ktoré by vám mali poskytnúť dobré výsledky na vašej „typickej“ obrazovke smartfónov pre Android:

String vimeoVideo = "';

Zobrazenie webovej stránky v aplikácii pre Android

Teraz sme vytvorili naše rozloženie a máme všetko pripravené na spustenie HTML, otvorte svoju MainActivity a nechajte implementovať naše WebView.

Začnite pridaním reťazca HTML:

String vimeoVideo = "';

Ďalej musíme načítať vyššie uvedenú webovú stránku do nášho WebView pomocou metódy loadUrl ():

webView.loadUrl (request.getUrl () toString ().);

JavaScript je v predvolenom nastavení zakázaný, preto ho musíme povoliť v našom webovom zobrazení.

Zakaždým, keď vytvoríte WebView, automaticky sa mu priradí sada predvolených nastavení WebSettings. Tento objekt WebSettings získame pomocou metódy getSettings () a potom povolíme JavaScript pomocou setJavaScriptEnabled ().

WebSettings webSettings = webView.getSettings (); webSettings.setJavaScriptEnabled (true);

Po pridaní všetkého tohto do MainActivity by mal váš kód vyzerať asi takto:

import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.webkit.WebResourceRequest; importovať android.webkit.WebSettings; import android.webkit.WebView; importovať android.webkit.WebViewClient; public class MainActivity rozširuje AppCompatActivity {@Override chránené void onCreate (Bundle uloženéInstanceState) {super.onCreate (uloženéInstanceState); setContentView (R.layout.activity_main); String vimeoVideo = ""; WebView webView = (WebView) findViewById (R.id.myWebView); webView.setWebViewClient (nový WebViewClient () {@Override public boolean shouldOverrideUrlLoading (WebView webView, WebResourceRequest request) {webView.loadUrl (request.getUrl () to). ()); návrat true;}}); WebSettings webSettings = webView.getSettings (); webSettings.setJavaScriptEnabled (true); webView.loadData (vimeoVideo, "text / html", "utf-8");}}

Testovanie aplikácie Vimeo

Tento vrták už poznáte: nainštalujte tento projekt na fyzické zariadenie Android alebo AVD. WebView nie je nastavený na automatické prehrávanie, takže musíte dať videu ťuknutie, aby ste odkryli ovládacie prvky médií spoločnosti Vimeo. Potom môžete video prehrať, pozastaviť, pretočiť dozadu a rýchlo dopredu, aby ste sa uistili, že funguje správne.

Zabalenie

V tomto článku sme vám ukázali, ako do svojich aplikácií pridať videá YouTube, Vimeo a Dailymotion pomocou rozhraní API a súprav SDK špecifických pre platformu a vlastnej súčasti WebView pre Android. Tiež som vám ukázal, ako spojiť video súbor s vašou aplikáciou, aby mohol byť uložený a prehrávaný lokálne.

Aký je váš obľúbený spôsob zobrazovania multimediálneho obsahu používateľom? Dajte nám vedieť v komentároch nižšie!

poločnoť Motorola oficiálne ohláila aplikáciu Motorola One Zoom minulý týždeň na veľtrhu IFA 2019. Zariadenie a začalo predávať za 5. eptembra za 450 dolárov, ale už...

poločnoť Motorola i užila roky úpechu v rozpočtovom tupni vďaka vojej tále populárnej érii G, ale konkurencia a prehlbuje v dobe, ktorá a rýchlo táva zlatým vek...

Výber Editora