آموزش پخش ویدیو اندروید استودیو VideoView
پخش ویدیو Android Studio Video View
پخش ویدیو اندروید ، عرض سلام خدمت کاربران گرامی سایت خانه اندروید در این پست می خواهیم توی اندروید ویدیو دلخواه خودمون رو از آدرس مورد نظر پخش کنیم به کمک VideoView و کنترل خاصی رو هم روی این موضوع داشته باشیم مثل نمایش ویدیو در وسط اکتیویتی و دادن بگراند به لایه و برای نمایش بهتر ویدیو ، هم چنین به صورت پیشفرض بدون کد نویسی می خواهم قسمت های سیک بار و زمان نمایش ویدیو رو هم بیاریم تا کاربر ببینه که زمان ویدیو چقدر هست و با کمک سیک بار کاربر بتونه ویدیو رو stop و play کنه با خانه اندروید همراه باشید.
حتما بخوانید : نمایش اطلاعات از سمت سرور JsonArrayRequest Volley اندروید استودیو
لطفا پروژه جدیدی را در اندروید استودیو ایجاد کنید سپس در بخش اکتیویتی دلخواهی که درست کردین ویدیو ویو را اضافه کنید. Videoview :
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.rss.homeandroidir.videview.MainActivity" android:background="#000000"> <VideoView android:id="@+id/video_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" /> </RelativeLayout>
لطفا دقت کنید برای اینکه ویدیو مورد نظر ما از آدرس اینترنتی شروع به پخش کنه نیازمند سطح دسترسی هستیم که همان internet هست.
<uses-permission android:name="android.permission.INTERNET"/>
خوب حالا سورس کد بخش جاوا را هم پیاده سازی می کنیم.
package com.rss.homeandroidir.videview; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.MediaController; import android.widget.VideoView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); VideoView videoView; final String VIDEO_PATH = "http://as3.asset.aparat.com/aparat-video/7a2f5df71384e1e34db3e1a36d960cd76867404-360p__40448.mp4"; MediaController mediaController; videoView = (VideoView)findViewById(R.id.video_view); videoView.setVideoPath(VIDEO_PATH); mediaController = new MediaController(MainActivity.this); mediaController.setAnchorView(videoView); videoView.setMediaController(mediaController); videoView.start(); } }
توضیح سورس کد بالا :
برای اینکه ویدیو را از آدرس یا url خاصی بخوانیم کافی مسیر را به متغییر زیر بدهیم که در این جا ویدیو را از سرور آپارات لود می کنیم.
final String VIDEO_PATH = "http://as11.asset.aparat.com/aparat-video/291163eb111952d7db3ac77d52e99a4f7404258-144p__42946.mp4";
برای بدست آوردن زمان و stop کردن و … کنترل خاصی رو Video view داشته باشیم نیاز داریم تا تعریف کنیم.
MediaController mediaController
چون مدیاکنترلر در کلاس خود دارای یک سازنده هست که می گوید در کدام بخش ویدیو را پخش کنم پس نیاز داریم تا سازنده را فراخوانی کنیم و محل اجرا ویدیو را اکتیویتی جاری که هستیم مشخص کنیم.
mediaController = new MediaController(MainActivity.this);
برای اینکه مسیر را مشخص کنیم برای VideoVeiw باید متد زیر آدرس را که در متغییر فوق هست بدهیم.
videoView.setVideoPath(VIDEO_PATH);
برای اینکه ویوی ما دارای کنترل باشه مثل next , back کافی مدیا کنترل را به VideoView معرفی کنیم.
videoView.setMediaController(mediaController);
حالا زمان آن رسیده تا ویدیو را پخش کنیم.
videoView.start();
دمو مورد نظر :
موفق باشید.
سلام ، جون هر کی دوست دارید کمک کنید 😢😢
من همه این کار ها رو کردم ، ولی بعد اینکه وارد برنامه میشم ، صفحه سیاه هست و یه متن میاره که میگه ، پوزش میطلبم ، ویدیو قادر به بخش نیست
خواهشا کمک کنید ، جون هر کی دوست دارید
ممنون
سلام و احترام
در مروگر تست کنید که ویدیو قابل پخش هست یا خیر
شما میتوانید از پخش کننده دیگه مثل exoplayer استفاده کنید.
با احترام.
سلام من این آموزش رو توی برنامم استفاده کردم فقط الان کاربران درخواست دارن که نیازی نباشه هر بار که بخوان فیلم ببینن فیلم دانلود بشه فقط بار اول دانلود باشه و جایی ذخیره بشه.لطفا این آموزش رو هم قرار بدید.ممنون
سلام و عرض خسته نباشید.
میخوام یه اپلیکیشن بسازم که بیاد چندتا فیلم کوتاه رو از یک پوشه در سرور دانلود کنه و پشت سر هم هر کدوم از این فیلم ها رو در اپ به صورت خودکار نمایش بده و بعد از اتمام هر ویدئو به صورت خودکار ویدئوی بعدی رو نمایش بده.ممنون میشم اگه راهنمایی کنید.مرسی
سلام و احترام
آموزش دانلود کردن فایل توی کانال تلگرامی در دسترس هست
دقت بفرمایین ویدیو ویو یک متدی داره که باعث میشه زمانی که یک ویدیو به پایان رسید اطلاع بده به شما
در این رابطه جستجو بزنید
با احترام.
سلام.با تشکر از سایت خوبتون
من با این روش ویدئو رو از طریق اینترنت در برنامه تعریف کردم و کار کرد اما بعد از چند روز پیغام “پوزش می طلبیم، پخش این ویدیو امکان پذیر نیست” داده میشه علت چیه؟
سلام خدمت شما
باید جستجو بزنید
با احترام.
سلام و خسته نباشید
بنده پوشه raw رو اضافه کردم ولی به هیچ نحو در video path نمیاره انگار که همچین پوشه ایی وجود نداره امیدوام کمکم کنید ممنون
سلام و احترام
فیلم آموزشی تهیه شده زیر پست هست دانلود کنید و مشابه فیلم جلو برین.
معمولا پوشه Raw برای ویدیو پیشنهاد نمیشه که قرار بدین چون حجم اپ افزایش پیدا می کنه بهتر انلاین کار کنید .
موفق باشین.
با احترام.
سلام از شما تشکر میکنم آموزش خوبی بود. خواستم بدونم امکانش هست اموزش های مربوط به videoplayer هایی مثل exoplayer یا mkplayer و یا… رو هم آموزش بدید ؟آیا کار با این ویدیو پلیر ها در بخش کد جاوا تفاوت زیادی با همین آموزشتون داره و پیچیده تره ؟
سلام و احترام دوست عزیز
حتما آموزش خواهیم داد در فرصت مناسب فعلا درگیر فیلم های دیگری هستیم تا برای تمامی دوستان تهیه کنیم.
انشالا آموزش ها زیادی رو در دست ساخت داریم.
با احترام.
خیلی ممنون ازتون خیلی خوبه که اینقدر سریع پاسخ میدید امیدوارم در مسیرتون موفق باشید
سلام روزتون بخیرمن میخواهم برنامه ای بنویسم که د رصفحه اکتیویتی چندتا button وجودداشته باشه با زدن هرکدوم از اونها ویدیوئی نمایش پیدا کند که خصوصیاتی که شما برای ویدیو گفتید را داشته باشه.
سلام و احترام
برای هرکردام از Button ها یک خواسیت آنکلیک تعریف کنید سپس url پخش رو از طریق intent بفرستین و در اکتیویتی که ویدیو رو پخش می کنید getintent کنید و url رو به ویدیو بدین.
برای این منظور هم قبلا فیلم تهیه شده :
فیلم آموزش پیاده سازی تلویزیون آنلاین
اینجا کلیک کنید جهت مشاهده
فیلم intent
https://homeandroid.ir/intent-getintent
سلام از شما تشکر میک نم آموزش خوبی بود.
سلام لطفا دارید.
سلام وقت بخیر دوست عزیز از شما و سایت خوبتون تشکر می کنم .
سلام دوست عزیزم جواد
از لطفا و بزرگ واری شما برادر گرامی سپاسگذارم.
با احترام.