Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Tha an ro-ràdh goirid: tha mi airson bruidhinn mun chluicheadair YouTube air-loidhne airson Android le liostaichean-cluiche, seanalan agus molaidhean ionadail.

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Ro-ràdh leudaichte:
O chionn ùine air ais thachair mi ris an aon dhuilgheadas ri ùghdar tagradh mìorbhaileach Clàr geal sianal, agus diongmhalta dhomh fhìn an aon bheachd a thaobh seo: tha mi airson a bhith comasach air clàr no fòn cliste le cartùnaichean a thoirt dha mo phàiste bho àm gu àm, ach chan eil mi idir toilichte leis an àite, às deidh 2-3 cliog, an liosta de mholaidhean ann an tagraidhean àbhaisteach - teachdaichean YouTube - a’ toirt an leanabh.

Gu mì-fhortanach, às deidh an tagradh Channel Whitelist a chuir a-steach, chaidh locht eile a bha nas prosaic, ach a bha fhathast marbhtach a lorg - NIH I (agus, as cudromaiche, mo mhac) lorg nach robh an eadar-aghaidh aige gu math goireasach, gu sònraichte às deidh a bhith a’ cleachdadh cluicheadair YouTube Kids.

San fharsaingeachd, às deidh beagan ùine bha mi deiseil airson mo bhuileachadh fhèin a dhèanamh. Às deidh beagan ùine, bha e comasach tag a chuir air a ’chiad fhoillseachadh.

Prìomh fheartan:

  • Cuir ris na seanailean agus na liostaichean-cluiche as fheàrr leat - thèid an sàbhaladh agus an clàr-amais san stòr-dàta ionadail
  • Taobh a-staigh liostaichean-cluiche a bharrachd, cuir dheth bhideothan neo-riatanach mura h-eil feum agad orra
  • Tha an liosta de mholaidhean air a chruthachadh air thuaiream a-mhàin bho shianalan agus liostaichean-cluiche a chaidh a chur ris an tagradh

Stòr fosgailte, cead GPLv3: https://github.com/sadr0b0t/yashlang/

Gu h-ìosal tha tar-shealladh nas mionaidiche air na prìomh fheartan, agus beagan mion-fhiosrachaidh teignigeach air mar a chluicheas tu bhideothan YouTube san tagradh Android agad gun a bhith a’ cleachdadh Google API agus pasgain lìn.

Air a’ phrìomh sgrion agus air scrion a’ chluicheadair: molaidhean air thuaiream bho shianalan neo-air thuaiream

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Rannsachadh sa bhad ann an stòr-dàta ionadail

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) => Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Cuir sianal no liosta-cluiche ùr ris

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Rannsaich le ainm air-loidhne no cuir a-steach seòladh aithnichte. Tha an liosta de bhideothan seanail no liosta-cluiche air a shàbhaladh don stòr-dàta ionadail; chan eil ìomhaighean air an tasgadh.

Liosta-cluiche dinamic - cluich toraidhean rannsachaidh

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) => Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Anns na molaidhean bhidio cha bhi ann ach bhideothan a choinnicheas ris a’ cheist rannsachaidh.

Mar an ceudna, ma dh'fhosglas tu bhidio bho na roghainnean playlist, cha nochd ach bhideothan bhon aon liosta-cluiche anns an liosta mholaidhean.

Faodar liostaichean-cluiche agus seanalan a chuir dheth airson ùine agus a-rithist

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Thoir an aire: falbhaidh bhideothan bho liosta-cluiche ciorramach cuideachd bho thoraidhean rannsachaidh, a’ coimhead air eachdraidh agus bhon liosta roghainnean. Ach na gabh dragh, nochdaidh iad an sin a-rithist sa bhad às deidh an liosta-cluiche a thionndadh air a-rithist.

Cuir bhidio ris an liosta dhubh

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Cha tèid bhidio dùinte a thaisbeanadh ann am molaidhean, ann an toraidhean rannsachaidh, agus falbhaidh e bhon liosta as fheàrr leotha agus bhon eachdraidh seallaidh. Bidh a’ bhidio fhathast ri fhaicinn ann an roghainnean an liosta-cluiche.

Faic an liosta dhubh agus ath-chomasachadh nithean a chaidh a bhacadh le mearachd:
Settings> header menu> Blacklist

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Na bhideothan as fheàrr leat agus eachdraidh coimhead

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Tha na bhideothan as fheàrr leat air scrion a’ chluicheadair air an comharrachadh le rionnag san oisean gu h-àrd air an làimh dheis.

Clàr-taice co-theacsa ann an tiotal na sgrìn agus briogadh fada ann an gailearaidhean agus liostaichean

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Dèan lethbhreac de ainm no seòladh bhidio no liosta-cluiche san sgrion seallaidh no ann an liosta sam bith.

Tòisich luath - cuir seanalan agus clàran-ciùil a tha air am moladh

Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?) => Tha bàs Koshchei air an liosta mholaidhean (a bheil e comasach YouTube a dhèanamh comhfhurtail agus sàbhailte?)

Bidh an tagradh a’ coimhead sa bhad mar na dealbhan-sgrìn gu h-àrd.

Faodar seanalan agus liostaichean-cluiche gun fheum a chuir dheth no a dhubhadh às anns na roghainnean.

suidheachadh

Duilleag pròiseict: https://github.com/sadr0b0t/yashlang/
ann am Beurla: https://github.com/sadr0b0t/yashlang/blob/master/README.en.md
sgaoilidhean: https://github.com/sadr0b0t/yashlang/releases

Cumaibh cuimhne nach obraich atharrachadh eadar dreachan eadar-dhealaichte bho dhiofar stòran air an aon inneal air sgàth diofar ainmean-sgrìobhte den fhaidhle apk; mus cuir thu a-steach an dreach bho stòr ùr, feumaidh tu an dreach stàlaichte a dhubhadh às an toiseach còmhla ris an dàta - an tasglann playlist agus eachdraidh brabhsaidh (no faigh a-mach mar a ghluaiseas tu dàta).

Mion-fhiosrachadh teicnigeach

Chan eil feum air cunntas Google/YouTube, chan fheum thu ach an eadar-lìn, cleachd na leabharlannan a leanas:

Stòr fosgailte, cead GPLv3 an-asgaidh.

ceist: A bheil e sa chumantas laghail làraich-lìn a sgrìobadh gun chead (no le casg sònraichte) bho na h-ùghdaran? Bheir Google air falbh aplacaidean o Google Play, nach eil a 'cleachdadh an API, ach parse na làraichean aca, oir brisidh iad an aonta cleachdaiche aca.
freagairt: gu dearbh, tha e laghail, tha e an urra riut fhèin dè an inneal a chleachdas tu gus fiosrachadh poblach a leughadh. A bharrachd air sin: Tha cùirt anns na SA air sgrìobadh làrach-lìn gu tur laghail agus air casg a chuir air bacadh teignigeach air., ach is dòcha gu bheil beachd eadar-dhealaichte aig Gul; gu pearsanta, chan eil miann agam fhathast a dhol gu cùirt Ameireaganach gus an toirt a chreidsinn.

Cuid de chòd

leabharlainn NewPipeExtractor - pròiseact taic cluicheadair Pìob ùr, a’ leigeil leat liosta de bhideothan a luchdachadh sìos airson seanail no liosta-cluiche ainmichte, luchdaich sìos fiosrachadh mionaideach mu bhidio ainmeil (na tha ri fhaicinn air duilleag-lìn a’ bhidio), faigh seòladh ìomhaigh a’ bhidio, agus cuideachd seòladh a’ bhidio fhaighinn sruth.

Tha an còd airson an liosta-cluiche a luchdachadh rud beag trom, agus mar sin cha toir mi an seo e, dhaibhsan aig a bheil ùidh, thoir sùil air a’ chòd stòr, is e clas a th’ ann gu bunaiteach Luchdaich a-nuas susbaint.

Chì sinn mar a gheibh sinn seòladh sruth bhidio bho sheòladh duilleag bhidio poblach agus cluich e sa chluicheadair.

Ceangail an leabharlann ri
app/build.gradle

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

Tha e neònach às deidh seo nach bi e comasach dhut a chleachdadh fhathast, oir ... bidh eisimpleirean a’ gearain mun chlas Downloader a tha a dhìth. Faodar a chopaigeadh chun phròiseact bhon eòlaire deuchainnean fèin-ghluasadach NewPipeExtractor/extractor/src/test/java/org/schabi/newpipe/Downloader.java - ag obair airson dreach 0.17.4 (tha e coltach gun deach am pàirt seo ath-nuadhachadh ann an dreach nas ùire den leabharlann, ach feumaidh sinn sgrùdadh fhathast).

Faigh seòladh an t-sruth bhidio le seòladh na duilleige bhidio air làrach-lìn 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;
    }

Faodaidh an seòladh bhidio ytVidUrl a bhith na sheòladh poblach air duilleag bhidio sam bith air làrach-lìn YouTube, mar eisimpleir https://www.youtube.com/watch?v=pd2RlatmNRk

Bidh an cluicheadair cluicheadair exo bho Google fhèin. Chan e còmhdach lìn a tha seo thairis air YouTube, ach fìor chluicheadair freumhaichte airson a bhith a’ cluich bhideothan sam bith, gu math sùbailte agus gnàthaichte. Faodaidh e cuideachd sruthan bhidio a chluich bho YouTube ma bheir thu seachad an seòladh ceart dha. Tha sinn dìreach air seòladh an t-sruth fhaighinn, mar sin chì sinn mar a chuireas sinn chun chluicheadair e.

Ceangail an leabharlann ris a 'phròiseact app/build.gradle:

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

Cha bheachdaich sinn air a h-uile nuance a thaobh a bhith a’ cur a’ phàirt cluicheadair air scrion an tagraidh (faodaidh tu coimhead air na h-eisimpleirean air làrach-lìn a’ phròiseict no anns a’ chòd), cha bhith sinn a’ coimhead ach air mar a thòisicheas tu a’ cluich bhidio bho YouTube anns a’ chluicheadair aig an seòladh a fhuaireadh gu h-àrd:

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);
    }
}

Cùisean aithnichte

  • Cha chluich sinn bhideothan le cuingealachaidhean aois a dh’ fheumas logadh a-steach don chunntas Google/YouTube agad

mar eisimpleir: Ilya Muromets, Mosfilm Cinema Concern, Ruslan agus Lyudmila film 1, Mosfilm Film Concern

comhairle: cuir bhideothan mar sin ris an liosta dhubh no iarr air ùghdar a’ bhidio an cuingealachadh a chaidh a shuidheachadh le mearachd a thoirt air falbh.

  • Cha chluich cuid de bhideothan craolaidh far am bi an t-seirbheis a’ tilleadh fad neoni (airson bhideothan mar sin, tha an ùine anns na liostaichean agus gailearaidh air a chomharrachadh mar “[dur undef]”)

mar eisimpleir: Fuirich air a shon! A h-uile cùis de Soyuzmultfilm HD (Cartoons for Children), Cartùnaichean bho stiùidio Soyuzmultfilm, Top cartùnaichean Soyuzmultfilm, cartùnaichean bho stiùidio Soyuzmultfilm

comhairle: cuir bhideothan mar sin ris an liosta dhubh.

  • Is dòcha nach bi bhideothan nach fhaighear ach tro cheanglaichean dìreach air an liosta-cluiche ionadail, eadhon ged a luchdaicheas tu sìos bhideothan an neach-cleachdaidh gu lèir

mar eisimpleir: Taming of Fire Episode 1, Mosfilm Cinema Concern

  • Ma thig thu tarsainn air bhidio poblach nach eil feumach air logadh a-steach, a ’cluich sa bhrobhsair, ach nach cluich sa chluicheadair, cuir aithisg air bug (tha e comasach gu bheil an duilgheadas air a rèiteachadh mar-thà san dreach ùr NewPipeExtractor agus cha leig thu leas ach an t-seanadh ùrachadh leis an tionndadh seo, mar eisimpleir).

  • Faodaidh an eadar-aghaidh fàs nas slaodaiche ma tha an eadar-lìn slaodach (ach gun a bhith dheth)

Mar thoradh air,

Ghluais mo mhac bho chlàr gu Samsung smart TV, nach urrainn aplacaidean Android a ruith. Mar sin, tha smachd phàrantan as fheàrr fhathast pearsanta.

Ach thionndaidh an tagradh a-mach gu robh e goireasach gu leòr dhomh tòiseachadh air a chleachdadh mi-fhìn. B’ e a’ chiad bheachd bho na dreachan obrach tràth gun robh mi ann an saoghal eile. Tha a h-uile susbaint air a luchdachadh sìos bho YouTube, ach chan e YouTube a tha seo tuilleadh, ach rudeigin eile, sàbhailte agus fo smachd, mar gum biodh tu a’ toirt ceud-chasach às do shùil agus ga chuir ann am jar glainne. Agus tha e uile an urra ris na molaidhean.

Source: www.habr.com

Cuir beachd ann