O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

O le folasaga e puupuu: Ou te fia talanoa e uiga i le YouTube i luga ole laiga taʻavale mo Android faʻatasi ma lisi faʻapitonuʻu, auala ma fautuaga.

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

Fa'alautele folasaga:
I se taimi ua mavae sa ou fetaiai ai ma le faafitauli lava e tasi ma le tusitala o se talosaga matagofie Auala Whitelist, ma filifili mo aʻu lava le uiga tutusa e uiga i ai: Ou te manaʻo e mafai ona tuʻuina atu i laʻu tama se laulau poʻo se telefoni feaveaʻi ma ata mai lea taimi i lea taimi, ae ou te le fiafia lava i le mea, pe a uma le 2-3 kiliki, le lisi. o fautuaga i talosaga masani - YouTube tagata fa'atau - ave le tamaititi.

O le mea e leaga ai, ina ua uma ona faʻapipiʻi le Channel Whitelist talosaga, na maua ai se isi mea e sili atu ona leaga, ae o loʻo i ai pea le leaga - NIH I (ma, sili ona taua, o loʻu atalii) na maua lona atinaʻe e le faigofie tele, aemaise lava pe a uma le masani o le faʻaaogaina o le YouTube Kids player.

I se tulaga lautele, ina ua mavae sina taimi sa ou sauni e fai laʻu lava faʻatinoga. Ina ua mavae sina taimi, na mafai ona tuʻuina se pine i le faʻasalalauga muamua.

O mea taua:

  • Fa'aopoopo au alaata e te fiafia i ai ma lisi o lisi - o le a fa'asaoina ma fa'asino igoa i totonu o fa'amaumauga i le lotoifale
  • I totonu o lisi fa'aopoopo, tape vitio e le mana'omia pe a e le mana'omia
  • Ole lisi o fautuaga e fa'atupu fa'afuase'i na'o alaleo ma lisi fa'aopoopo i le talosaga

Punavai tatala, laisene GPLv3: https://github.com/sadr0b0t/yashlang/

O loʻo i lalo se faʻamatalaga lautele o uiga autu i faʻamatalaga sili atu, faʻatasi ai ma nisi faʻamatalaga faʻapitoa i le auala e taʻalo ai vitio YouTube i lau talosaga Android e aunoa ma le faʻaogaina o le Google API ma afifi upega tafaʻilagi.

I luga o le laupepa autu ma luga o le mata o le tagata taʻalo: fautuaga faʻafuaseʻi mai auala e le faʻafuaseʻi

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

Su'esu'e vave ile fa'amaumauga fa'apitonu'u

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) => O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

Fa'aopoopo se alaleo fou po'o se lisi

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

Su'e ile igoa ile initaneti pe fa'aofi se tuatusi iloa. O le lisi o vitio o se auala poʻo se lisi o loʻo faʻasaoina i luga o faʻamaumauga faʻapitonuʻu; e leʻo natia ata.

Dynamic playlist - ta'alo su'esu'ega

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) => O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

I fautuaga vitio o le ai ai naʻo vitio e faʻamalieina le suʻega suʻesuʻe.

E faʻapea foʻi, afai e te tatalaina se vitio mai le lisi lisi, naʻo vitio mai le lisi tutusa o le a faʻaalia i le lisi o fautuaga.

Lisi ta'alo ma alaleo e mafai ona tape le tumau ma toe ola

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

Fa'amolemole maitau: o vitio mai se lisi fa'aletonu o le a mou atu fo'i mai i'uga o su'esu'ega, matamata i tala fa'asolopito ma mai le lisi e fiafia i ai. Ae aua le popole, o le a toe aliali mai iina pe a uma ona toe ki le lisi.

Faaopoopo se vitio i le lisi uliuli

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

O se vitio poloka o le a le faʻaalia i fautuaga, i suʻesuʻega, ma o le a mou atu mai le lisi o mea e fiafia i ai ma mai le tala faʻasolopito. O le a iloa pea le vitio i le lisi o lisi.

Va'ai le lisi uliuli ma toe fa'aaga mea na poloka ile sese:
Fa'atonu> fa'aulutala lisi> Blacklist

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

Vitio fiafia ma matamata i tala faasolopito

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

O vitio e sili ona fiafia i ai i luga o le mata o le tagata taalo ua faailogaina i se fetu i le tulimanu pito i luga taumatau.

Tulaga lisi i le ulutala mata ma kiliki umi i ata ma lisi

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

Kopi le igoa po'o le tuatusi o se vitio po'o se lisi i le mata'imata po'o so'o se lisi.

Amata vave - fa'aopoopo alavai fautuaina ma lisi

O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?) => O le maliu o Koshchei o loʻo i luga o le lisi o fautuaga (e mafai ona faʻamalieina ma saogalemu le YouTube?)

O le talosaga o le a vave ona foliga pei o screenshots i luga.

E mafai ona tape pe tape laina e le mana'omia ma lisi i totonu o fa'atulagaga.

faatulagaga

Itulau o galuega: https://github.com/sadr0b0t/yashlang/
i le Igilisi: https://github.com/sadr0b0t/yashlang/blob/master/README.en.md
fa'asalalauga: https://github.com/sadr0b0t/yashlang/releases

Ia manatua o le fesuiaiga i le va o lomiga eseese mai punaoa eseese i luga o le masini lava e tasi o le a le aoga ona o saini eseese o le faila apk; aʻo leʻi faʻapipiʻiina le faʻasologa mai se punavai fou, e tatau ona e tape muamua le faʻapipiʻi faʻatasi ma faʻamaumauga - le lisi o lisi ma su'esu'ega tala'aga (po'o le fa'avasega pe fa'afefea ona fesiita'i fa'amatalaga).

Auiliiliga auiliiliga

E le mana'omia se Google/YouTube account, na'o le Initaneti e te mana'omia, fa'aoga faletusi nei:

Punavai tatala, laisene GPLv3 e leai se totogi.

fesili: E masani ona faʻatulafonoina le vaʻaia o upega tafaʻilagi e aunoa ma se faʻatagaga (poʻo le faʻasaina manino) mai tusitala? Google aveese polokalame mai Google Play, lea e le faʻaaogaina a latou API, ae faʻasalalau a latou nofoaga, aua latou te solia a latou maliega faʻaoga.
tali: o le mea moni, e fa'atulafonoina, e pule lava oe po'o fea meafaigaluega e fa'aoga e faitau ai fa'amatalaga fa'alaua'itele. E lē gata i lea: Ua fa'atulafonoina atoa e le fa'amasinoga a Amerika le su'eina o le upega tafa'ilagi ma fa'asaina le fa'alavelave fa'apitoa., ae atonu e ese le manatu o Gul; ia te aʻu lava ia, ou te leʻi i ai se naunautaiga e alu i se faamasinoga a Amerika e faatalitonu i latou.

O nisi code

fale faitautusi NewPipeExtractor - poloketi lagolago tagata ta'alo Paipa Fou, faʻatagaina oe e sii maia se lisi o vitio mo se auala faʻapitoa poʻo se lisi, download faʻamatalaga auiliili e uiga i se vitio lauiloa (mea o loʻo vaʻaia i luga o le itulau itulau vitio), maua le tuatusi o le ata vitio, ma maua foi le tuatusi o le vitio vaitafe.

O le code mo le utaina o le lisi e fai si faʻalavelave, o lea ou te le tuʻuina atu iinei, mo i latou e fiafia, vaʻai i le code source, o se vasega. ContentLoader.

Se'i o tatou va'ai pe fa'apefea ona maua le tuatusi o se ata vitio mai le tuatusi o le itulau vitiō lautele ma ta'alo i le ta'aloga.

Fa'afeso'ota'i le faletusi i
app/build.gradle

dependencies {
...
    // NewPipe: youtube parser
    // https://github.com/TeamNewPipe/NewPipeExtractor
    implementation "com.github.TeamNewPipe:NewPipeExtractor:v0.17.4"
...
}

E fia iloa pe a uma lenei mea e te le mafai lava ona faʻaaogaina, aua ... faʻataʻitaʻiga o le a faitio e uiga i le misi Downloader vasega. E mafai ona kopi i le poloketi mai le su'ega otometi su'ega NewPipeExtractor/extractor/src/test/java/org/schabi/newpipe/Downloader.java - galue mo le lomiga 0.17.4 (e foliga mai na toe faia lenei vaega i se lomiga fou o le faletusi, ae e tatau lava ona tatou siaki).

Maua le tuatusi o le ata vitio i le tuatusi o le itulau vitio i luga o le upega tafaʻilagi YouTube:

app/src/main/java/su/sadrobot/yashlang/controller/ContentLoader.java

    public String extractYtStreamUrl(final String ytVidUrl) throws ExtractionException, IOException {
        // https://github.com/TeamNewPipe/NewPipeExtractor/blob/dev/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeStreamExtractorDefaultTest.java
        NewPipe.init(Downloader.getInstance(), new Localization("GB", "en"));
        final YoutubeStreamExtractor extractor = (YoutubeStreamExtractor) YouTube
                .getStreamExtractor(ytVidUrl);
        extractor.fetchPage();
        final String streamUrl = extractor.getVideoStreams().size() > 0 ? extractor.getVideoStreams().get(0).getUrl() : null;
//        for (final VideoStream stream : extractor.getVideoStreams()) {
//            stream.getUrl();
//        }
        return streamUrl;
    }

O le tuatusi vitio ytVidUrl e mafai ona avea ma tuatusi lautele o le itulau o soʻo se vitio i luga o le upega tafaʻilagi YouTube, mo se faʻataʻitaʻiga https://www.youtube.com/watch?v=pd2RlatmNRk

O le a avea le tagata taalo tagata fa'apitoa mai Google lava ia. E le o se afifi i luga ole laiga i luga ole YouTube, ae o se tagata ta'alo moni mo le taina o so'o se vitio, e matua fetuutuunai ma fa'apitoa. E mafai foi ona taina ata vitio mai YouTube pe a e tuuina atu i ai le tuatusi sa'o. Faatoa maua le tuatusi o le vaitafe, o lea sei vaai pe faapefea ona auina atu i le tagata taalo.

Fa'afeso'ota'i le faletusi i le poloketi app/build.gradle:

dependencies {
...
    // google Exoplayer
    // https://github.com/google/ExoPlayer
    // https://exoplayer.dev/
    implementation 'com.google.android.exoplayer:exoplayer:2.10.8'
...
}

Matou te le mafaufau i faʻamatalaga uma o le tuʻuina o le tagata taʻalo i luga o le mata o le talosaga (e mafai ona e vaʻavaʻai i faʻataʻitaʻiga i luga o le upega tafaʻilagi o le poloketi poʻo le code), o le a matou vaʻavaʻai i le auala e amata ai ona taina se vitio mai YouTube i le tagata taʻalo i le tuatusi na maua i luga:

app/src/main/java/su/sadrobot/yashlang/WatchVideoActivity.java

private void playVideoStream(final String streamUrl, final long seekTo) {
    if (streamUrl == null) {
        // остановить проигрывание текущего ролика, если был загружен
        videoPlayerView.getPlayer().stop(true);
    } else {
        // https://exoplayer.dev/
        // https://github.com/google/ExoPlayer

        final Uri mp4VideoUri = Uri.parse(streamUrl);
        final MediaSource videoSource = new ProgressiveMediaSource.Factory(videoDataSourceFactory)
                .createMediaSource(mp4VideoUri);

        // Поставим на паузу старое видео, пока готовим новое
        if (videoPlayerView.getPlayer().getPlaybackState() != Player.STATE_ENDED) {
            // Если ставить на паузу здесь после того, как плеер встал на паузу сам, закончив
            // играть видео, получим здесь второе событие STATE_ENDED, поэтому нам нужна здесь
            // специальная проверка.
            // При этом значение getPlayWhenReady() останется true, поэтому проверяем именно состояние.
            // https://github.com/google/ExoPlayer/issues/2272
            videoPlayerView.getPlayer().setPlayWhenReady(false);
        }

        // Prepare the player with the source.
        ((SimpleExoPlayer) videoPlayerView.getPlayer()).prepare(videoSource);

        // Укажем текущую позицию сразу при загрузке видео
        // (в коментах что-то пишут что-то про датасорсы, которые поддерживают или не поддерживают
        // переходы seek при загрузке, похоже, что это фигня - просто делаем seek сразу после загрузки)
        // Exoplayer plays new Playlist from the beginning instead of provided position
        // https://github.com/google/ExoPlayer/issues/4375
        // How to load stream in the desired position? #2197
        // https://github.com/google/ExoPlayer/issues/2197
        // в этом месте нормлаьный duration еще не доступен, поэтому его не проверяем
        //if(seekTo > 0 && seekTo < videoPlayerView.getPlayer().getDuration()) {
        if (seekTo > 0) {
            // на 5 секунд раньше
            videoPlayerView.getPlayer().seekTo(seekTo - 5000 > 0 ? seekTo - 5000 : 0);
        }
        videoPlayerView.getPlayer().setPlayWhenReady(true);
    }
}

Mataupu lauiloa

  • O le a le taina vitiō faʻatapulaʻa tausaga e manaʻomia ai le saini i lau Google/YouTube account

mo se faataitaiga: Ilya Muromets, Mosfilm Cinema Concern, Ruslan ma Lyudmila ata tifaga 1, Mosfilm Film Concern

fautuaga: faʻaopoopo ia vitio i le lisi uliuli pe fesili i le tusitala o le vitio e aveese le faʻatapulaʻa na faʻatulagaina i se mea sese.

  • O nisi fa'asalalauga vitiō e toe fo'i mai ai le 'au'aunaga e leai se umi o le a le ta'alo (mo ia vitiō, o le umi i lisi ma fa'ailoga ua fa'ailogaina o le "[dur undef]")

mo se faataitaiga: Faatali i ai! Mataupu uma o Soyuzmultfilm HD (Cartoons mo tamaiti), Ata mai Soyuzmultfilm studio, Ataata sili Soyuzmultfilm, Ataata mai Soyuzmultfilm studio

fautuaga: faʻaopoopo ia vitio i le lisi uliuli.

  • Vitio e na'o feso'ota'iga tuusa'o e maua e le mafai ona aofia i le lisi fa'apitonu'u, tusa lava pe e te siiina uma ata vitio a le tagata fa'aoga.

mo se faataitaiga: Taming of Fire Episode 1, Mosfilm Cinema Concern

  • Afai e te sau i se vitio lautele e le manaʻomia se saini, taʻalo i le suʻesuʻega, ae le taʻalo i le tagata taʻalo, lafo se lipoti o le pusa (e ono mafai lava ona faʻamautuina le faʻafitauli i le lomiga fou. NewPipeExtractor ma o le a naʻo oe e manaʻomia le faʻafouina o le faʻapotopotoga i lenei lomiga, mo se faʻataʻitaʻiga).

  • E ono fa'agesegese le fa'aoga pe a tuai le Initaneti (ae le tape)

I le faaiuga

Na siitia loʻu atalii mai se laulau i le Samsung atamai TV, lea e le mafai ona faʻaogaina polokalama Android. O le mea lea, o le pule sili a matua o le tagata lava ia.

Ae o le talosaga na foliga mai ua lava le faigofie mo aʻu e amata faʻaaogaina ai aʻu. O le lagona muamua mai uluai lomiga galue o loʻo ou i ai i se isi lalolagi. O mea uma e sii mai i luga o le YouTube, ae e le o toe YouTube, ae o se isi mea, saogalemu ma pulea, e pei ua e aveese se centipede mai lou mata ma tuu i totonu o se fagu tioata. Ma o mea uma e uiga i fautuaga.

puna: www.habr.com

Faaopoopo i ai se faamatalaga