می خواهیم با استفاده از کلاس VideoView
، ویدئوهایی که در اینترنت وجود دارند را در اپلیکیشنمان نشان دهیم.
- نفیسه افقی 4 سال قبل سوال کرد
- آخرین ویرایش 4 سال قبل
- شما باید برای ارسال دیدگاه وارد شوید
اندروید کلاس های مختلفی را برای انتقال جریان های ویدئویی از اینترنت به اپلیکیشن فراهم می کند که در اینجا ما از کلاس VideoView
استفاده می کنیم.
<<برای انجام همین کار با کلاس MediaPlayer ، به این پست مراجعه کنید.>>
1. یک پروژه بسازید
مرحله اول
یک پروژه اندروید بسازید. نامی دلخواه به آن بدهید و برایش یک کلاس MainActivity
و یک فایل layout بسازید.
مرحله دوم
برای دانلود و نمایش ویدئو، احتیاج به اجازه دسترسی اینترنت داریم. پس به فایل AndroidManifest.xml
رفته و کد زیر را داخل عنصر manifest
وارد کنید.
<uses-permission android:name="android.permission.INTERNET" />
2. کلاس VideoView
را اضافه کنید
مرحله اول
کدهای xml مربوط به کلاس VideoView
را در فایل 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: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>
عنصرهای والد را می توانید به دلخواه خود تغییر دهید. در اینجا ما یک id
هم به VideoView
دادیم که بعداً بتوانیم در کدمان به آن اشاره کنیم. ویژگی های دیگر این عنصر را هم می توانید بنا به سلیقه خود تغییر دهید.
مرحله دوم
حالا می خواهیم یک اشاره گر به VideoView
در کدمان بسازیم. فایل MainActivity
را باز کرده و import های زیر را در آن وارد کنید.
import android.net.Uri;
import android.widget.MediaController;
import android.widget.VideoView;
اکتیویتی شما، از قبل تابع onCreate
را بصورت زیر تعریف کرده است:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
بعد از خط setContentView
، اشاره گری به VideoView
می سازیم (با استفاده از id
آن):
VideoView vidView = (VideoView)findViewById(R.id.myVideo);
3. نمایش ویدئو
مرحله اول
حالا می توانیم ویدئو را در برنامه مان نمایش دهیم. ابتدا URI مربوط به ویدئو را آماده می کنیم:
String vidAddress = "https://archive.org/download/ksnn_compilation_master_the_internet/ksnn_compilation_master_the_internet_512kb.mp4";
Uri vidUri = Uri.parse(vidAddress);
آدرس بالا را با آدرس ویدئو خودتان جایگزین کنید.
مرحله دوم
حالا آدرس ویدئو را به شیئ کلاس VideoView
می دهیم:
vidView.setVideoURI(vidUri);
*همان طور که در سایت توسعه دهندگان اندروید می توانید ببینید، فرمت ویدئوهایی که پشتیبانی می شود، 3GP، MP4، WEBM و MKV است (بسته به اینکه کاربر چه ورژنی از اندروید را نصب کرده است).
*فرمت های صوتی که پشتیبانی می شوند هم شامل این موارد هستند: MP3، MID، OGG و WAV.
*فایل های رسانه ای را می توانید با استفاده از RTSP، HTTP و HTTPS بگیرید. (از اندروید 3.1 به بعد)
3. کنترل های نمایش را اضافه کنید
الان ما ویدئو را در اپلیکیشنمان نمایش می دهیم. اما کاربر انتظار دارد که بر روی نمایش آن کنترل داشته باشد (امکان قطع و وصل و جلو و عقب بردن ویدئو). اندروید کلاس های متعددی برای این کار فراهم کرده است که ما در اینجا از MediaController
استفاده می کنیم.
مرحله اول
شیئی از این کلاس را بسازید (در تابع onCreate
اکتیویتی و قبل از آنکه تابع start را بر روی VideoView
فراخوانی کنید).
MediaController vidControl = new MediaController(this);
مرحله دوم
حالا می گوییم که از نمونه ی کلاس VideoView
را استفاده کند.
vidControl.setAnchorView(vidView);
مرحله سوم
و در نهایت آن را به عنوان کنترل کننده به VideoView
معرفی می کنیم.
vidView.setMediaController(vidControl);
حالا وقتی برنامه را اجرا می کنید، کاربر می تواند نحوه نمایش ویدئو را کنترل کند.
- نفیسه افقی 4 سال قبل پاسخ داد
- آخرین ویرایش 4 سال قبل
- شما باید برای ارسال دیدگاه وارد شوید