Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android SDK
Code

Video Streaming u Android Aplikacijama

by
Difficulty:IntermediateLength:LongLanguages:

Croatian (Hrvatski) translation by Maja Petek (you can also view the original English article)

Android platforma nudi biblioteke koje možete koristiti za streamanje media datoteka, poput remote videa, predstavljaući ih za reprodukciju u vašim aplikacijama. U ovom tutorialu ćemo stream-ati video datoteku, prikazujući je koristeći VideoView komponentu zajedno sa MediaController objektom kako bismo omogućili korisniku da upravlja reproduciranjem.

Također ćemo ukratko proći kroz proces prezentiranja videa koristeći MediaPlayer klasu. Ako ste završili serije o izradi muzičkog playera za Android, ono što ste naučili u ovom tutorialu mogli biste naučiti da proširite i unaprijedite znanje. Ako ste razvili barem jednu Android aplikaciju, trebali biste biti u mogućnosti završiti ovaj tutorial.

1. Izradite Novu Aplikaciju

1. korak

Možete upotrijebiti kod u ovom tutorialu da unaprijedite postojeću aplikaciju na kojoj radite ili možete napraviti novu aplikaciju sada, u Eclipse ili Android Studio-u. Izradite novi Android projekt, nazovite ga po vlastitom izboru, konfigurirajte detalje i dodijelite mu inicijalnu glavnu Activity klasu i layout.

2. korak

Konfigurirajmo prvo manifest projekta za streamanje medija. Otvorite manifest datoteku vašeg projekta i prebacite u XML editiranje u svojem IDE-u. Za streaming medija, potreban vam je pristup internetu, stoga dodajte sljedeću dozvolu unutar manifest elementa:

2. Dodajte VideoWiev

1. korak

Android platforma pruža VideoView klasu u kojoj možete pokrenuti video datoteke. Dodajmo jednu na glavnu layout datoteku:

Promijenite roditeljski layout kako bi odgovarao vašoj aplikaciji ukoliko je potrebno. VideoView instanci dajemo id atribut kako bismo mu se kasnije mogli referirati. Za svoj dizajn ćete možda morati podesiti druga layout svojstva.

2. korak

Dohvatimo referencu na VideoView instancu u kodu. Otvorite glavnu Activity klasu vaše aplikacije i dodajte sljedeći import:

Vaša Activity klasa već bi trebala sadržavati onCreate metodu u kojoj je sadržaj podešen:

Nakon setContentView linije, referirajmo se na VideoWiev instancu kao što slijedi, koristeći id koji podesimo u XML layoutu:

3. Streaming Video Datoteke

1. korak

Sada možemo proslijediti video datoteku u aplikaciju. Pripremite URI za krajnju točku kao što slijedi:

Naravno, morati ćete upotrijebiti remote adresu za video datoteku koju želite proslijediti. Ovdje naveden primjer je besplatna javna (public domain) video datoteka poslužena na Internet Achive-u. Parsiramo niz adresa kao URI kako bismo ga mogli prenijeti na VideoView objekt:

Sada jednostavno možete započeti reproduciranje:

Android operativni sustav podržava niz video i media formata.

Kao što možete vidjeti u Vodiču za Developere, podržane datoteke u video formatu uključuju 3GP, MP4, WEBM i MKV, ovisno o upotrijebljenom formatu i platformi koju je korisnik upotrijebio za instalaciju.

Datoteke audio formata za koje možete očekivati ugrađenu podršku uključuju MP3, MID, OGG i WAV. Možete streamati medije na Android preko RTSP, HTTP, i HTTPS (s Androida 3.1).

4. Dodajte Reprodukcijsko Upravljanje

1. korak

Implementirali smo video reprodukciju, ali korisnik će očekivati, po navici imati kontrolu nad njome. Opet, Android platforma nudi resurse za upravljanje ovom interakcijom putem MediaController klase.

U vašoj Activity klasi onCreate metodi, prije reda u kojem zovete start na VideoView-u, izradite instancu klase:

Zatim je podesite da koristi VideoView instancu kao svoje sidro:

I konačno, podesite je kao media kontroler za VideView objekt:

Sada, kada pokrenete aplikaciju, korisnik bi trebao biti u mogućnosti kontrolirati reprodukciju streamanog videa, uključujući naprijed i nazad gumbe, play/pauza gumbe i kontrolna traka za pretraživanje.

Kontrolnoj traci za pretraživanje, zdesna je dodana dužina datoteke medija i trenutna pozicija reprodukcije s lijeva. Kao i mogućnost da dotaknete traku za pretraživanje kako bi odredili poziciju na datoteci, streaming status je indiciran koristeći isti tip prikaza na koji je korisnik naviknut sa stranica i aplikacija kao što je YouTube.

Kao što ćete vidjeti kada pokrenete aplikaciju, zadano ponašanje je za kontrole, kako bi nestale nakon kratkog vremena i ponovile se kada korisnik dotakne ekran. Ponašanje MediaController objekta možete konfigurirati na više načina. Pogledajte serije o izradi aplikacije muzičkog playera za Android kako biste vidjeli na primjeru kako se to radi. Također možete unaprijediti reprodukciju medija implementiranjem video slušalaca da konfigurirate ponašanje aplikacije.

5. Korištenje MediPlayer-a

1. korak

Prije nego što završimo, prođimo kroz alternativni pristup za streamanje videa koristeći MediaPlayer klasu, pošto smo je upotrijebili u seriji o izradi muzičkog playera. Možete streamati medije, uključujući video, na MediaPlayer objekt koristeći surface view:. Na primjer, mogli biste upotrijebiti sljedeći layout:

Referirati ćemo se na SurfaceView u implementaciji Activity klase:

2. korak

U vašoj Activity klasi, dodajte sljedeća sučelja:

Vaš IDE bi vas trebao tražiti da dodate ove neimplementirane metode:

Dodati ćemo surfaceCreated i onPrepared metodama.

3. korak

Kako biste implemetirali reprodukciju, klasi dodajte sljedeće varijable instanci:

U Activity-jevoj onCreate metodi, tada možete početi instancirati ove varijable koristeći SurfaceView objekt koji ste dodali layoutu:

4. korak

U surfaceCreated metodi, podesite resurse za reproduciranje medija:

Konačno, u onPrepared metodi, počnite reproduciranje:

Vaš video trebao bi sada reproducirati u MediaPlayer-u instanci kada pokrenete aplikaciju.

Zaključak

U ovom tutorialu, naglasili smo osnove streamanja videa na Androidu koristeći VideoView i MediaPlayer klase. Mogli biste prilično mnogo unaprijediti kod koji smo ovdje implementirali, na primjer, izgradnjom podrške za video ili streaming medije u aplikaciju muzičkog playera koju smo kreirali. Možda biste također željeli pogledati resurse vezane za Android kao što su YouTube Android Player API.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.