ProHoster > Blog > naidheachdan eadar-lìn > 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 an ro-ràdh goirid: tha mi airson bruidhinn mun chluicheadair YouTube air-loidhne airson Android le liostaichean-cluiche, seanalan agus molaidhean ionadail.
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
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
Rannsachadh sa bhad ann an stòr-dàta ionadail
=>
Cuir sianal no liosta-cluiche ùr ris
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.
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
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
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
Na bhideothan as fheàrr leat agus eachdraidh coimhead
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
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
=>
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.
Chan eil e air Google Play agus cha bhi e a dh’ aithghearr (tha Google a’ cuir casg air tagraidhean a bhios a’ dol seachad air an API agus a’ sgrùdadh an làrach-lìn aca, a’ toirt a-steach an Channel Whitelist air a bheil iomradh no an cluicheadair NewPipe)
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:
NewPipeExtractor gus dàta fhaighinn bhon t-seirbheis YouTube agus
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.
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:
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.
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:
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
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]”)
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
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.