Apa perbedaan antara MediaPlayer dan VideoView di Android

95

Saya bertanya-tanya apakah ada perbedaan di antara mereka dalam hal streaming video.

Saya tahu VideoViewbisa digunakan untuk streaming dan untuk apa Mediaplayer? Sejauh yang saya tahu, MediaPlayerbisakah melakukan hal yang sama dengan VideoViewbenar?

Adakah yang bisa memberi saya jawabannya?

Dan jika saya ingin melakukan streaming video dari server dengan menggunakan RTSP ke Android, yang mana yang harus saya mulai? VideoViewatau MediaPlayer?

Ada saran?

oattie
sumber
Bukankah ini seharusnya di superuser?
Quamis
13
Saya pikir itu milik di sini. Bukankah ini pertanyaan pemrograman Android?
juell

Jawaban:

40

Mengajukan pertanyaan yang sama dan seperti yang saya pahami dari apa yang disarankan Mark (CommonsWare) pada banyak utas di sini, VideoView adalah pembungkus (200 ratus baris kode) untuk MediaPlayer dan SurfaceView untuk menyediakan kontrol yang disematkan.

Dia juga dengan ramah membagikan beberapa contoh:

https://github.com/commonsguy/cw-advandroid/blob/master/Media/Video/src/com/commonsware/android/video/VideoDemo.java

https://github.com/commonsguy/vidtry/blob/master/src/com/commonsware/android/vidtry/Player.java

dan contoh dari android sdk http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/media/MediaPlayerDemo.html

Juga beberapa orang mengalami masalah saat memutar video di emulator, jadi pastikan untuk mengujinya di perangkat sebenarnya jika Anda mengalami masalah

mishkin
sumber
17

VideoView pada dasarnya adalah Tampilan yang dikaitkan dengan MediaPlayer agar lebih mudah menerapkan video di aplikasi Anda. Jika Anda tidak melakukan banyak pekerjaan kustom, VideoView adalah cara yang tepat.

Meskipun demikian, Anda juga dapat meneruskan tautan RTSP ke sistem untuk menggunakan aplikasi yang paling sesuai untuk memutar video, yang bahkan lebih mudah dilakukan:

String url = "rtsp://yourrtsplink.com/blah";
Uri uri = Uri.parse(url);
startActivity(new Intent(Intent.ACTION_VIEW, uri));

Video harus diuji pada perangkat, karena pemutaran emulator buruk, dan Anda juga harus menyadari bahwa RTSP memerlukan port tambahan untuk dibuka, yang diblokir oleh beberapa firewall.

Ian G. Clifton
sumber
mana yang lebih cepat?
Albert Chen
0

VideoPlayer adalah pembungkus untuk MediaPlayer dan SurfaceView, lebih mudah mengimplementasikan pemutar video dengan VideoView daripada dengan MediaPlayer, jika file video disimpan di penyimpanan internal aplikasi menggunakan penyedia konten atau menyimpannya sebagai dapat dibaca dunia, jika tidak maka akan tidak bekerja

HocineHamdi
sumber