Tagalog (Wikang Tagalog) translation by Robert Alexander (you can also view the original English article)
Ang Android platform ay nagbibigay ng mga libreryang magagamit mo sa
pag-stream ng media files, tulad nga mga remote video, itatanghal ang mga ito
sa pag-playback ng mga app. Sa tutoryal na ito, tayo ay mag-stream ng video file, ipapakita ito
gamit ang VideoView
kasama ng MediaController
object para ang gumagamit ay
makakakontrol sa pag-playback.
Tayo rin ay dagling tatakbuhin ang proseso ng pagpapakita ng video gamit ang MediaPlayer
class. Kung nakompleto mo na ang serye ng
paglikha ng music player para sa Android, maaari mong gamitin ang natutunan sa tutoryal na ito upang higit pang
mapahusay ito. Kailangan mong makompleto ang
tutoryal na ito kung ikaw ay nakabuo na
ng ilang Android app.
1. Paglikha ng Isang Bagong App
Hakbang1
Maaari mong gamitin ang code sa
tutoryal na ito upang mapahusay ang kasalukuyang app na iyong ginagawa o maaari
kang lumikha ng bagong app ngayon sa Eclipse o Android Studio. Lumikha ng isang bagong Android
project, bigyan ng pangalan na iyong pinili, ayusin ang mga detalye, at bigyan
ito ng paunang pangunahing Activity
class at layout.
Hakbang 2
Atin munang ayusin ang manipesto
ng proyekto sa pagstream ng media. Buksan ang manifest file ng iyong
proyekto at lumipat sa XML editing sa
iyong IDE. Sa pag-stream ng media, kailangan
may internet access ka, kaya idagdag ang mga sumusunod na permiso sa loob ng manifest
element:
<uses-permission android:name="android.permission.INTERNET" />
2. Magdagdag ng VideoView
Hakbang 1
Ang Android platform ay nagbibigay
ng VIdeoView
class kung saan maaari kang mag-play ng mga video files. Magdagdag tayo ng isa sa
pangunahing layout file:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:background="#000000" tools:context=".MainActivity" > <VideoView android:id="@+id/myVideo" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_centerInParent="true" /> </RelativeLayout>
Baguhin ang parent layout para
maibagay sa iyong sariling app kung kinakailangan. Bibigyan natin ang VideoVIew
instance ng id
pananda upang masangguni
natin mamaya. Maaari mong ayusin ang ibang
layout para sa sarili mong disenyo.
Hakbang 2
Ngayon tayo ay kumuha ng isang reference sa VIdeoView
instance sa
code. Buksan ang pangunahing [Activity] class ng app at idagdag ang mga
sumusunod na adisyonal na import. Buksan ang pangunahing Activity
class ng app at idagdag ang mga
sumusunod na adisyonal na import.
import android.net.Uri; import android.widget.MediaController; import android.widget.VideoView;
Ang iyong Activity
class ay
dapat naglalaman ng onCreate
method kung saan ang content view ay naka-set.
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }
Pagkatapos ng setContentView
line, kumuha tayo ng reference sa VideoView
instance tulad ng sumusunod,
gamit ang id
na nai-set sa XML layout:
VideoView vidView = (VideoView)findViewById(R.id.myVideo);
3. Magstream ng Video File
Hakbang 1
Ngayon tayo makaka-stream na ng video file sa app. Ihanda ang URI para sa endpoint ayon sa sumusunod:
String vidAddress = "https://archive.org/download/ksnn_compilation_master_the_internet/ksnn_compilation_master_the_internet_512kb.mp4"; Uri vidUri = Uri.parse(vidAddress);
Kinakailangan mong gamitin ang
remote address para sa video file na gusto mong i-stream. Ang halimbawa dito ay isang
pampublikong domain video file na naka-host sa Internet Archive. Susuriin natin ang address string
bilang isang URI para maipasa natin ito sa VIdeoView
object:
vidView.setVideoURI(vidUri);
Ngayon ay maaari mo nang simulan ang pag-playback:
vidView.start();
Ang Android operating system ay sumusuporta sa isang hanay ng video at mga media format, ang bawat aparato ay nakasuporta sa mga adisyonal na format sa lahat ng ito.
Tulad ng iyong nakikita sa Developer Guide, ang mga video file format ang nakasuporta sa 3GP,MP4,WEBM, at MKV, depende sa format na ginamit at kung anong antas ng platform ang ini-install ng gumagamit.
Maaasahan mong ang mga audio file format ay built-in na nakasuporta sa MP3, MID, OGG, at WAV. Maaari kang mag-stream ng media sa Android sa RTSP, HTTP, at HTTPS (para sa Android 3.1).
4. Magdagdag ng mga Playback Control
Hakbang 1
Tayo ay nagpatupad na ng video
playback, ngunit ang gumagamit ay makakaasa at dapat maging sanay sa
pagkakaroon ng kontrol nito. Muli, ang Android platform ay
nagbibigay ng mga mapagkukunan para sa paggamit nito gamit ang mga pamilyar na interaksyon sa
pamamagitan ng MediaController
class.
Sa iyong Activity
class sa
onCreate
method, bago ang linya kung saan start
ka sa VideoView
, lumikha
ng instance para sa class.
MediaController vidControl = new MediaController(this);
Sunod, i-set ito gamit ang VideoView
instance bilang angkora nito:
vidControl.setAnchorView(vidView);
At panghuli, i-set ito bilang
media controller para sa Videoview
object:
vidView.setMediaController(vidControl);
Kung patatakbuhin mo na ang app ngayon, dapat makontrol ng gumagamit ang playback sa pag stream ng video, kasama na ang pag-fast forward at mga rewind button, ang play/pause button at ang seek bar control.
Kasama ng seek bar control ang laki ng media file sa kanan, at ang kasalukuyang playback position ay nasa kaliwa. Dahil nai-tap na ang seek bar para makaposisyon sa file, ang status ng pag-stream ay ipinahihiwatig gamit ang parehong klase ng display na makakasanayan ng gumagamit mula sa mga site at app katulad ng Youtube.

Tulad ng iyong nakikita kapag
nakatakbo ang app, ang mga naka-default na gawi ay para sa mga kontrol na
mawawala pagkatapos ng ilang sandali, at lilitaw muli kung hahawakan ng
gumagamit ang screen. Maaari mong i-configure ang gawi
ng MediaController
object sa iba't-ibang mga paraan. Tingnan ang mga serye sa paglikha
ng isang music player app para sa Android para sa isang halimbawa kung paano
gawin ito. Maaari mo ring mapahusay ang
pag-playback ng media sa pamamagitan ng pagpapatupad ng iba't-ibang mga
tagapakinig upang i-configure ang kagawian ng iyong app.
5. Paggamit ng MediaPlayer
Hakbang 1
Bago tayo matapos, pumunta tayo sa
isang alternatibong diskarte para sa streaming ng video gamit ang MediaPlayer
class, dahil ginamit na natin ito sa mga serye sa paglikha ng isang music
player. Maaari mong i-stream ang media,
kabilang ang mga video, sa isang MediaPlayer
object gamit ang isang surface
view. Halimbawa, maaari mong gamitin ang
sumusunod na layout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000000" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <SurfaceView android:id="@+id/surfView" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </RelativeLayout>
Tayo ay sumangguni sa SurfaceView
sa pagpapatupad ng Activity
class.
Hakbang 2
Sa iyong Activity
class, idagdag
ang sumusunod na mga interface:
public class MainActivity extends Activity implements SurfaceHolder.Callback, OnPreparedListener
Ang iyong IDE ay magdidkta sa iyo na idagdag ang mga hindi pa nailalapat na pamamaraan:
@Override public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) { // TODO Auto-generated method stub } @Override public void surfaceCreated(SurfaceHolder arg0) { //setup } @Override public void surfaceDestroyed(SurfaceHolder arg0) { // TODO Auto-generated method stub } @Override public void onPrepared(MediaPlayer mp) { //start playback }
Tayo ay magdadagdag sa surfaceCreated
at onPrepared
na pamamaraan.
Hakbang 3
Upang mailapat ang pag-playback, idagdag ang mga sumusunod na instance variables sa class:
private MediaPlayer mediaPlayer; private SurfaceHolder vidHolder; private SurfaceView vidSurface; String vidAddress = "https://archive.org/download/ksnn_compilation_master_the_internet/ksnn_compilation_master_the_internet_512kb.mp4";
Sa onCreate
method ng Activity
, maaari mo nang simulan ang pagbigay ng halimbawa ng mga variable
gamit ang SurfaceView
object na iyong idinagdag sa layout:
vidSurface = (SurfaceView) findViewById(R.id.surfView); vidHolder = vidSurface.getHolder(); vidHolder.addCallback(this);
Hakbang 4
Sa surfaceCreated
method, i-set
up ang iyong mga media playback resources:
try { mediaPlayer = new MediaPlayer(); mediaPlayer.setDisplay(vidHolder); mediaPlayer.setDataSource(vidAddress); mediaPlayer.prepare(); mediaPlayer.setOnPreparedListener(this); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); } catch(Exception e){ e.printStackTrace(); }
Sa pangwakas, sa onPrepared
method, simulan ang pag-playback:
mediaPlayer.start();
Ang iyong video ay i-play sa MediaPlayer
instance kapag
pinatakbo mo na ang app.
Konklusyon
Sa tutoryal na ito, aming
binalangkas ang mga pangunahing kaalaman sa pag-stream ng video sa Android gamit
ang VideoView
at mga MediaPlayer
class. Maaari kang magdagdag ng maraming
mga pagpapahusay sa code na inilapat namin dito, halimbawa, sa pamamagitan ng
pagbuo ng video o streaming media support sa music player app na nilikha namin. Maaari mo ring tingnan ang kaugnay
na mga mapagkukunan ng kaalaman para sa Android tulad ng YouTube Android Player
API.
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Update me weeklyEnvato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!
Translate this post