Mawu oyamba ndi achidule: Ndikufuna kulankhula za wosewera pa intaneti wa YouTube pa Android wokhala ndi mindandanda yazosewerera, mayendedwe ndi malingaliro.

Mawu achiyambi owonjezera:
Nthawi yapitayo ndinakumana ndi vuto lomwelo monga wolemba ntchito yodabwitsa , ndikudzipangira ndekha malingaliro omwewo pa izo: Ndikufuna kuti ndizitha kupereka mwana wanga piritsi kapena foni yamakono yokhala ndi zojambula nthawi ndi nthawi, koma sindine wokondwa konse ndi kumene, pambuyo pa kudina kwa 2-3, mndandanda. za malingaliro pamapulogalamu okhazikika - makasitomala a YouTube - amatenga mwana.
Tsoka ilo, mutatha kuyika pulogalamu ya Channel Whitelist, cholakwika china chowonjezera, koma chowopsa chinapezeka - NIH I (ndipo, chofunikira kwambiri, mwana wanga) adapeza mawonekedwe ake osakhala bwino, makamaka pambuyo pa chizolowezi chogwiritsa ntchito wosewera wa YouTube Kids.
Kawirikawiri, patapita nthawi ndinali wokonzeka kupanga ndondomeko yanga. Patapita nthawi, zinakhala zotheka kuyika chizindikiro pa kutulutsidwa koyamba.
Zofunikira zazikulu:
- Onjezani tchanelo chomwe mumakonda ndi mndandanda wazosewerera - zidzasungidwa ndikusungidwa m'nkhokwe yapafupi
- M'ma playlist owonjezera, zimitsani makanema osafunikira ngati simukuwafuna
- Mndandanda wazomwe amayamikira umapangidwa mwachisawawa kuchokera kumayendedwe ndi mindandanda yazosewerera yomwe yawonjezeredwa ku pulogalamuyi
Open source, GPLv3 license:
M'munsimu muli chidule cha mbali zazikulu mwatsatanetsatane, kuphatikiza zina zaukadaulo zamomwe mungasewere makanema a YouTube mu pulogalamu yanu ya Android popanda kugwiritsa ntchito Google API ndi zokutira pa intaneti.
Pazenera lalikulu komanso pasewero la osewera: malingaliro mwachisawawa kuchokera kumayendedwe osakhala mwachisawawa
Kusaka pompopompo munkhokwe yapafupi
=>
Onjezani tchanelo chatsopano kapena playlist
Sakani ndi dzina pa intaneti kapena ikani adilesi yodziwika. Mndandanda wamakanema a tchanelo kapena mndandanda wazosewerera umasungidwa ku database yakomweko; zithunzi sizisungidwa.
Dynamic playlist - sewerani zotsatira zakusaka
=>
M'makanemawa padzakhala makanema okha omwe amakwaniritsa zomwe mukufuna.
Momwemonso, ngati mutsegula kanema kuchokera pamindandanda yazosewerera, mavidiyo okhawo ochokera pamndandanda womwewo ndi omwe adzawonekere pamndandanda wamalingaliro.
Ma playlists ndi matchanelo atha kuzimitsidwa kwakanthawi ndikuyatsidwanso
Chonde dziwani: makanema ochokera pamndandanda wolemala adzasowanso pazotsatira zakusaka, mbiri yowonera komanso pamndandanda wazokonda. Koma osadandaula, adzawonekeranso pomwepo mndandanda wamasewera ukangoyatsidwanso.
Onjezani kanema ku mndandanda wakuda
Kanema woletsedwa sidzawonetsedwa pazotsatira, pazotsatira zakusaka, ndipo idzasowa pamndandanda wazokonda komanso mbiri yowonera. Kanemayo adzawonekerabe pamakonzedwe a playlist.
Onani mndandanda wakuda ndikuyatsanso zinthu zoletsedwa molakwika:
Zikhazikiko> mutu menyu> Blacklist
Makanema omwe mumakonda komanso mbiri yowonera
Makanema omwe mumakonda pazenera lamasewera amalembedwa ndi asterisk pakona yakumanja.
Mindandanda yazambiri pamutu wa skrini ndikudina-kutalika mumagalasi ndi mindandanda
Koperani dzina kapena adilesi ya kanema kapena mndandanda wazosewerera pazowonera kapena pamndandanda uliwonse.
Kuyamba mwachangu - onjezani mayendedwe ovomerezeka ndi mndandanda wamasewera
=>
Kugwiritsa ntchito nthawi yomweyo kumawoneka ngati zowonera pamwambapa.
Makanema osafunika ndi playlist akhoza kuzimitsidwa kapena zichotsedwa mu zoikamo.
kolowera
Tsamba la polojekiti:
m'Chingerezi:
zotulutsa:
- Sizili pa Google Play ndipo sizikhalapo posachedwa (Google imaletsa mapulogalamu omwe amadutsa API ndikuwunika tsamba lawo, kuphatikiza Channel Whitelist yotchulidwa kapena wosewera wa NewPipe)
- Mangani kuchokera kochokera:
- Tsitsani apk kuchokera kugawo lotulutsa:
- Ndikukhulupirira kuti idzawonekera mu kalozera pakapita nthawi (, koma sanasunthike kwa pafupifupi mwezi umodzi), koma panobe
Kumbukirani kuti kusintha pakati pa mitundu yosiyanasiyana kuchokera kuzinthu zosiyanasiyana pazida zomwezo sikungagwire ntchito chifukwa cha kusaina kosiyana kwa fayilo ya apk; musanayike mtunduwo kuchokera kugwero latsopano, choyamba muyenera kuchotsa mtundu womwe mudayika pamodzi ndi deta - posungira playlist ndi kusakatula mbiri (kapena kudziwa mmene kusamutsa deta).
Zambiri
Sichifuna akaunti ya Google/YouTube, mumangofunika intaneti, imagwiritsa ntchito malaibulale otsatirawa:
- kulandira deta kuchokera ku ntchito ya YouTube ndi
- kusewera kanema.
Open source, GPLv3 laisensi yaulere.
funso: Kodi ndizovomerezeka kuwononga masamba popanda chilolezo (kapena ndi chiletso chowonekera) kuchokera kwa olemba? , omwe sagwiritsa ntchito API yawo, koma perekani masamba awo, chifukwa amaphwanya mgwirizano wawo wogwiritsa ntchito.
yankho: zowona, ndizovomerezeka, zili ndi inu chida chomwe mungagwiritse ntchito kuti muwerenge zomwe zilipo poyera. Komanso: , koma Gul angakhale ndi maganizo osiyana; ine ndekha, sindinakhalebe ndi chikhumbo chopita kukhoti lamilandu la ku America kuti ndiwatsimikizire.
Kodi ena
Library - projekiti yothandizira osewera , imakupatsani mwayi wotsitsa mndandanda wamavidiyo a tchanelo kapena playlist, tsitsani zambiri za kanema wotchuka (zomwe zimawoneka patsamba lawebusayiti), pezani adilesi yachithunzichi, komanso pezani adilesi ya kanemayo. mtsinje.
Khodi yotsitsa playlist ndiyovuta pang'ono, chifukwa chake sindipereka pano, kwa iwo omwe ali ndi chidwi, yang'anani nambala yoyambira, kwenikweni ndi kalasi. .
Tiyeni tiwone momwe tingapezere adilesi yowonera kanema kuchokera ku adilesi ya tsamba lapagulu lamavidiyo ndikuyisewera pawosewerera.
Lumikizani laibulale ku
dependencies {
...
// NewPipe: youtube parser
// https://github.com/TeamNewPipe/NewPipeExtractor
implementation "com.github.TeamNewPipe:NewPipeExtractor:v0.17.4"
...
}Ndizosangalatsa kuti zitatha izi simudzatha kuzigwiritsa ntchito, chifukwa ... zitsanzo adzadandaula za kusowa Downloader kalasi. Itha kukopera ku projekiti kuchokera ku bukhu loyesera lokha - imagwira ntchito pa mtundu wa 0.17.4 (zikuwoneka kuti gawoli lidakonzedwanso mulaibulale yatsopano, koma tiyenera kuyang'anabe).
Pezani adilesi yakusewerera makanema ndi adilesi ya tsamba la kanema patsamba la 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;
}Kanema adilesi ytVidUrl ikhoza kukhala adilesi yapagulu latsamba la kanema aliyense patsamba la YouTube, mwachitsanzo.
Wosewera adzatero kuchokera ku Google komwe. Ichi si chotchingira pa intaneti pa YouTube, koma chosewerera chenicheni chosewera makanema aliwonse, osinthika komanso osinthika. Itha kuseweranso makanema omvera kuchokera ku YouTube ngati mupereka adilesi yoyenera. Tangolandira kumene adilesi, ndiye tiyeni tiwone momwe tingatumizire kwa wosewera mpira.
Lumikizani laibulale ku polojekiti :
dependencies {
...
// google Exoplayer
// https://github.com/google/ExoPlayer
// https://exoplayer.dev/
implementation 'com.google.android.exoplayer:exoplayer:2.10.8'
...
}Sitidzaganiziranso zamitundu yonse yoyika gawo la osewera pazenera la pulogalamu (mutha kuyang'ana zitsanzo patsamba la polojekiti kapena pa code), tingoyang'ana momwe mungayambitsire kusewera kanema kuchokera ku YouTube pawosewera pa. adilesi yomwe yalandilidwa pamwambapa:
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);
}
}Nkhani Zodziwika
- Sizisewera makanema okhala ndi zoletsa zaka zomwe zimafunikira kulowa muakaunti yanu ya Google/YouTube
mwachitsanzo: ,
malangizo: onjezani makanema otere pamndandanda wakuda kapena funsani wolemba vidiyoyo kuti achotse choletsa chomwe chidayikidwa molakwika.
- Makanema ena owulutsa omwe ntchitoyo imabweretsa ziro kutalika sangaseweredwe (kwa makanema otere, nthawi yomwe ili pamndandanda ndi malo osungiramo zithunzi amalembedwa kuti "[dur undef]")
mwachitsanzo: ,
malangizo: onjezani mavidiyo otere ku mndandanda wakuda.
- Makanema omwe amapezeka kokha kudzera pamaulalo achindunji sangaphatikizidwe pamndandanda wazosewerera wapafupi, ngakhale mutatsitsa makanema onse a ogwiritsa ntchito.
mwachitsanzo:
Ngati mupeza kanema wapagulu yemwe safuna kulowa, amasewera mu msakatuli, koma osasewera wosewera, tumizani lipoti la cholakwika (ndizotheka kuti vutoli lakonzedwa kale mu mtundu watsopano. NewPipeExtractor ndipo mungofunika kukonzanso msonkhanowo ndi mtundu uwu, ).
Mawonekedwe amatha kutsika ngati intaneti ikuchedwa (koma osazimitsidwa)
Pamapeto pake
Mwana wanga wamwamuna adachoka pa piritsi kupita ku Samsung smart TV, yomwe singathe kuyendetsa mapulogalamu a Android. Choncho, kulamulira bwino kwa makolo kumakhalabe kwaumwini.
Koma pulogalamuyo idakhala yabwino kuti ndiyambe kuyigwiritsa ntchito ndekha. Chiwonetsero choyamba kuchokera kumitundu yoyambirira yogwirira ntchito chinali chakuti ndinali kudziko lina. Zonse zomwe zatulutsidwa kuchokera ku YouTube, koma izi sizilinso YouTube, koma chinthu china, chotetezeka komanso cholamulidwa, ngati kuti mwachotsa centipede m'diso lanu ndikuyiyika mumtsuko wagalasi. Ndipo zonse zokhudzana ndi malangizowo.
Source: www.habr.com
