ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

He pōkole ka hoʻolauna: makemake wau e kamaʻilio e pili ana i ka mea pāʻani pūnaewele YouTube no Android me nā papa inoa kūloko, nā kahawai a me nā ʻōlelo paipai.

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

Hoʻolaha i hoʻonui ʻia:
I kekahi manawa i hala aku nei ua loaʻa iaʻu ka pilikia like me ka mea kākau o kahi noi nani Kanal Whitelist, a hoʻoholo noʻu iho i ka ʻano like me ia: makemake wau e hāʻawi i kaʻu keiki i kahi papa a i ʻole kelepona me nā kiʻi kiʻi i kēlā me kēia manawa, akā ʻaʻole wau hauʻoli loa i kahi, ma hope o 2-3 kaomi, ka papa inoa. o nā ʻōlelo paipai i nā noi maʻamau - nā mea kūʻai mai YouTube - lawe i ke keiki.

ʻO ka mea pōʻino, ma hope o ka hoʻokomo ʻana i ka noi Channel Whitelist, ua ʻike ʻia kahi hewa ʻē aʻe, akā naʻe, ua ʻike ʻia ʻo NIH I (a, ʻo ka mea nui loa, kaʻu keiki) ʻaʻole maʻalahi kona interface, ʻoi aku ma hope o ka hoʻohana ʻana i ka mea pāʻani YouTube Kids.

Ma keʻano laulā, ma hope o kekahi manawa ua mākaukau wau e hana i kaʻu hoʻokō ponoʻī. Ma hope o kekahi manawa, hiki ke kau i kahi hōʻailona ma ka hoʻokuʻu mua.

Nā hiʻohiʻona nui:

  • Hoʻohui i kāu mau punahele punahele a me nā papa mele - e mālama ʻia lākou a kuhikuhi ʻia i ka waihona kūloko
  • I loko o nā papa inoa i hoʻohui ʻia, e hoʻopau i nā wikiō pono ʻole inā ʻaʻole pono ʻoe iā lākou
  • Hoʻokumu wale ʻia ka papa inoa o nā manaʻo mai nā kahawai a me nā papa inoa i hoʻohui ʻia i ka noi

Kumu wehe, laikini GPLv3: https://github.com/sadr0b0t/yashlang/

Aia ma lalo kahi hiʻohiʻona o nā hiʻohiʻona nui i nā kikoʻī hou aku, a me kekahi mau kikoʻī loea e pili ana i ka pāʻani ʻana i nā wikiō YouTube ma kāu polokalamu Android me ka hoʻohana ʻole ʻana i ka Google API a me nā mea hoʻopili pūnaewele.

Ma ka ʻaoʻao nui a ma ka ʻaoʻao o ka mea pāʻani: nā ʻōlelo aʻoaʻo maʻamau mai nā kahawai ʻole

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

Huli koke ma ka waihona kūloko

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) => ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

Hoʻohui i kahi ala hou a papa inoa paha

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

Huli ma ka inoa ma ka pūnaewele a i ʻole e hoʻokomo i kahi helu wahi i ʻike ʻia. Mālama ʻia ka papa inoa o nā wikiō o kahi alahele a papa inoa paha i ka waihona kūloko; ʻaʻole hūnā ʻia nā kiʻi.

Dynamic playlist - pāʻani i nā hopena hulina

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) => ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

Ma nā ʻōlelo paipai wikiō e loaʻa wale nā ​​wikiō e hoʻokō i ka ʻimi hulina.

Pēlā nō, inā wehe ʻoe i kahi wikiō mai ka papa inoa papa inoa, ʻo nā wikiō mai ka papa inoa like e ʻike ʻia ma ka papa inoa o nā manaʻo.

Hiki ke hoʻopau ʻia nā papa inoa pāʻani a me nā alahele no kekahi manawa

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

E ʻoluʻolu e hoʻomaopopo: e nalowale nā ​​wikiō mai kahi papa inoa kīnā mai nā hopena hulina, ke nānā ʻana i ka mōʻaukala a mai ka papa inoa punahele. Mai hopohopo, e ʻike hou ʻia lākou ma laila ma hope koke o ka hoʻāla hou ʻana o ka playlist.

Hoʻohui i kahi wikiō i ka papa inoa ʻeleʻele

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

ʻAʻole e hōʻike ʻia kahi wikiō i hoʻopaʻa ʻia ma nā ʻōlelo aʻoaʻo, i nā hopena ʻimi, a e nalowale ana mai ka papa inoa o nā punahele a mai ka mōʻaukala ʻike. E ʻike ʻia ke wikiō ma nā hoʻonohonoho playlist.

E nānā i ka papa inoa ʻeleʻele a hoʻā hou i nā mea i pāpā ʻia me ke kuhihewa:
Nā hoʻonohonoho> papa kuhikuhi poʻo> Blacklist

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

Nā wikiō punahele a me ka nānā ʻana i ka mōʻaukala

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

Hōʻailona ʻia nā wikiō punahele ma ka pā pāʻani me kahi asterisk ma ka ʻaoʻao ʻākau o luna.

Nā papa kuhikuhi ma ke poʻo inoa pale a kaomi lōʻihi i nā hale kiʻi a me nā papa inoa

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

E kope i ka inoa a i ʻole ka helu wahi o kahi wikiō a papa inoa paha ma ka ʻaoʻao nānā a i ʻole ma kekahi papa inoa.

Hoʻomaka wikiwiki - hoʻohui i nā kahawai a me nā papa mele i manaʻo ʻia

ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?) => ʻO ka make ʻana o Koshchei aia ma ka papa inoa o nā ʻōlelo aʻoaʻo (hiki ke hana ʻoluʻolu a palekana ʻo YouTube?)

E like koke ka palapala noi i nā kiʻi ma luna.

Hiki ke hoʻopau ʻia a hoʻopau ʻia paha nā kahawai i makemake ʻole ʻia a me nā papa mele ma nā hoʻonohonoho.

Kāu Mau Koho Paʻamau

ʻaoʻao papahana: https://github.com/sadr0b0t/yashlang/
ma ka ʻōlelo Pelekania: https://github.com/sadr0b0t/yashlang/blob/master/README.en.md
hoʻokuʻu: https://github.com/sadr0b0t/yashlang/releases

E hoʻomanaʻo i ka hoʻololi ʻana ma waena o nā ʻano like ʻole mai nā kumu like ʻole ma ka hāmeʻa like ʻole e hana ma muli o nā pūlima like ʻole o ka faile apk; ma mua o ka hoʻokomo ʻana i ka mana mai kahi kumu hou, pono ʻoe e holoi i ka mana i hoʻonohonoho ʻia me ka ʻikepili - ka papa inoa papa inoa a me ka mōʻaukala mākaʻikaʻi (a i ʻole e noʻonoʻo pehea e hoʻoili ai i ka ʻikepili).

Nā kikoʻī kikoʻī

ʻAʻole pono ʻoe i kahi moʻokāki Google/YouTube, pono ʻoe i ka Pūnaewele, hoʻohana i nā hale waihona puke:

Kumu wehe, laikini GPLv3 manuahi.

Nīnau: He mea maʻamau paha ke kānāwai e ʻoki i nā pūnaewele me ka ʻole o ka ʻae ʻia (a i ʻole me ka pāpā ʻana) mai nā mea kākau? Wehe ʻo Google i nā polokalamu mai Google Play, ʻaʻole hoʻohana i kā lākou API, akā e hoʻopau i kā lākou mau pūnaewele, no ka mea ua uhaki lākou i kā lākou ʻaelike hoʻohana.
pane: ʻoiaʻiʻo, he kānāwai, aia iā ʻoe ka mea hana e hoʻohana ai e heluhelu i ka ʻike i loaʻa i ka lehulehu. Eia kekahi: Ua ʻae ʻia ka ʻaha hoʻokolokolo o ʻAmelika i ka ʻoki ʻana i ka pūnaewele a pāpā i ka hoʻopilikia ʻenehana me ia., akā, he manaʻo ʻokoʻa paha ko Gul, ʻo wau iho, ʻaʻohe oʻu makemake e hele i kahi ʻaha ʻAmelika e hoʻohuli iā lākou.

Kekahi code

waihona NewPipeExtractor - papahana kākoʻo mea pāʻani ʻPlelo Hou, hiki iā ʻoe ke hoʻoiho i kahi papa inoa o nā wikiō no kahi kaila i kuhikuhi ʻia a i ʻole playlist, hoʻoiho i ka ʻike kikoʻī e pili ana i kahi wikiō kaulana (ʻo ka mea i ʻike ʻia ma ka ʻaoʻao pūnaewele o ka wikiō), e kiʻi i ka helu o ke kiʻi wikiō, a loaʻa pū ka helu o ka wikiō. kahawai.

He mea paʻakikī ke code no ka hoʻouka ʻana i ka playlist, no laila ʻaʻole wau e hāʻawi iā ia ma aneʻi, no ka poʻe hoihoi, e nānā i ke kumu kumu, he papa ia. ContentLoader.

E ʻike kākou pehea e loaʻa ai ka helu wahi o kahi kahawai wikiō mai ka helu wahi o ka ʻaoʻao wikiō lehulehu a hoʻokani iā ​​​​ia i ka mea pāʻani.

Hoʻohui i ka waihona i
app/build.gradle

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

He mea kupanaha ma hope o kēia ʻaʻole hiki iā ʻoe ke hoʻohana, no ka mea ... e hoʻopiʻi nā laʻana e pili ana i ka papa Downloader i nalowale. Hiki ke kope ʻia i ka papahana mai ka papa kuhikuhi hoʻāʻo automated NewPipeExtractor/extractor/src/test/java/org/schabi/newpipe/Downloader.java - hana no ka mana 0.17.4 (me he mea lā ua hana hou ʻia kēia ʻāpana i kahi mana hou o ka waihona, akā pono mākou e nānā).

E kiʻi i ka helu wahi o ke kahawai wikiō ma ka helu wahi o ka ʻaoʻao wikiō ma ka pūnaewele 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;
    }

Hiki i ka helu wikiō ytVidUrl ke helu lehulehu o ka ʻaoʻao o kekahi wikiō ma ka pūnaewele YouTube, no ka laʻana. https://www.youtube.com/watch?v=pd2RlatmNRk

ʻO ka mea pāʻani ʻO ExoPlayer mai Google iho. ʻAʻole kēia he mea hoʻopili pūnaewele ma luna o YouTube, akā he mea pāʻani i hoʻopili ʻia no ka pāʻani ʻana i nā wikiō, maʻalahi a maʻalahi. Hiki iā ia ke pāʻani i nā kahawai wikiō mai YouTube inā hāʻawi ʻoe iā ia me ka helu kūpono. Loaʻa iā mākou ka helu kahawai, no laila e ʻike kākou pehea e hoʻouna ai i ka mea pāʻani.

Hoʻohui i ka waihona i ka papahana app/build.gradle:

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

ʻAʻole mākou e noʻonoʻo i nā nuances āpau o ke kau ʻana i ka mea pāʻani ma ka pale noi (hiki iā ʻoe ke nānā i nā hiʻohiʻona ma ka pūnaewele papahana a i ʻole ke code), e nānā wale mākou pehea e hoʻomaka ai e pāʻani i kahi wikiō mai YouTube i ka mea pāʻani ma ka helu wahi i loaa mai maluna:

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

Nā pilikia i ʻike ʻia

  • ʻAʻole e pāʻani i nā wikiō me nā palena makahiki e pono ai ke komo i kāu moʻokāki Google/YouTube

e like me kēia: ʻO Ilya Muromets, Mosfilm Cinema Concern, ʻO Ruslan lāua ʻo Lyudmila kiʻiʻoniʻoni 1, Mosfilm Film Concern

'ōlelo aʻo: hoʻohui i kēlā mau wikiō i ka papa inoa ʻeleʻele a i ʻole e noi i ka mea kākau o ka wikiō e wehe i ka palena i kau hewa ʻia.

  • ʻAʻole e pāʻani kekahi mau wikiō hoʻolaha no ka hoʻihoʻi ʻana o ka lawelawe i ka lōʻihi ʻole (no kēlā mau wikiō, ua kaha ʻia ka lōʻihi o nā papa inoa a me nā hale kiʻi ʻo "[dur undef]")

e like me kēia: E kali no ia! ʻO nā pilikia a pau o Soyuzmultfilm HD (Kiʻi kiʻi no nā keiki), nā kiʻi kiʻi mai Soyuzmultfilm studio, Nā kiʻi paʻi kiʻi kiʻekiʻe ʻo Soyuzmultfilm, Nā kiʻi kiʻi mai Soyuzmultfilm studio

'ōlelo aʻo: hoʻohui i nā wikiō i ka papa inoa ʻeleʻele.

  • ʻAʻole hiki ke hoʻokomo ʻia nā wikiō i loaʻa wale ma o nā loulou pololei i loko o ka papa inoa kūloko, ʻoiai inā hoʻoiho ʻoe i nā wikiō a pau o ka mea hoʻohana.

e like me kēia: ʻO Taming of Fire Episode 1, Mosfilm Cinema Concern

  • Inā ʻike ʻoe i kahi wikiō lehulehu ʻaʻole pono ke komo ʻana, pāʻani i ka polokalamu kele pūnaewele, akā ʻaʻole pāʻani i ka mea pāʻani, e hoʻouna i kahi hōʻike bug (hiki paha i ka pilikia i hoʻopaʻa ʻia i ka mana hou. NewPipeExtractor a pono ʻoe e hōʻano hou i ka hui me kēia mana, Eia kekahi lā).

  • Hiki ke lohi ka interface inā lohi ka Internet (akā ʻaʻole pio)

A? Acoeuoaoa,

Ua neʻe kaʻu keiki mai kahi papa i kahi TV akamai Samsung, ʻaʻole hiki ke holo i nā noi Android. No laila, ʻoi aku ka maikaʻi o ka mālama ʻana i nā mākua.

Akā ua maʻalahi ka noi no ka hoʻomaka ʻana e hoʻohana iaʻu iho. ʻO ka manaʻo mua mai nā mana hana mua, aia wau i kahi honua ʻē aʻe. Hoʻoiho ʻia nā ʻike āpau mai YouTube, akā ʻaʻole kēia ʻo YouTube, akā he mea ʻē aʻe, palekana a mālama ʻia, me he mea lā ua lawe ʻoe i kahi centipede mai kou maka a hoʻokomo i loko o ka ipu aniani. A e pili ana i nā ʻōlelo paipai.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka