خانه اندروید

800 ساعت آموزش اختصاصی

بیش از 30 هزار دانشجو

آموزش های پروژه محور

مطالب پیشنهادی حتما مشاهده کنید :

آموزش پخش ویدیو اندروید استودیو VideoView

آموزش پخش ویدیو اندروید استودیو VideoView

آموزش پخش ویدیو اندروید استودیو 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();

دمو مورد نظر :

آموزش پخش ویدیو اندروید استودیو VideoView

موفق باشید.

 

درباره نویسنده

جواد محمدی هستم بنیان‌گذار سایت خانه اندروید در خدمتون هستیم با آموزش و مفاهیم برنامه نویسی اندروید-نزدیک به 10 سال هست در حوزه برنامه نویسی فعالیت می کنم. مسلط به kotlin,java,flutter,php هستم . در خانه اندروید دانستی های خودم را در اختیار تمامی علاقمندان به برنامه نویسی قرار میدم.تشکر از اینکه خانه اندرورید رو دنبال می کنید.

قبل از ارسال دیدگاه

  • قبل از ارسال دیدگاه: لطفا دیدگاه خودتون رو فقط در مورد این مطلب بنویسید.سپاسگزارم.

    دیدگاه های طولانی نادیده گرفته می شوند لذا دیدگاه خودتان را در دو خط خلاصه کنید.

    دیدگاه های که شامل توهین یا متن توهین آمیز اصلا تایید نمی شود.

    به دیدگاه های بی نام و نشان که ایمیل فیک و نام فیک وارد می کنند پاسخ داده نمی شود

18 دیدگاه

  1. کسری ناصری گفت:

    سلام ، جون هر کی دوست دارید کمک کنید ??

    من همه این کار ها رو کردم ، ولی بعد اینکه وارد برنامه میشم ، صفحه سیاه هست و یه متن میاره که میگه ، پوزش میطلبم ، ویدیو قادر به بخش نیست

    خواهشا کمک کنید ، جون هر کی دوست دارید

    ممنون

  2. میثم گفت:

    سلام من این آموزش رو توی برنامم استفاده کردم فقط الان کاربران درخواست دارن که نیازی نباشه هر بار که بخوان فیلم ببینن فیلم دانلود بشه فقط بار اول دانلود باشه و جایی ذخیره بشه.لطفا این آموزش رو هم قرار بدید.ممنون

  3. علی گفت:

    سلام و عرض خسته نباشید.
    میخوام یه اپلیکیشن بسازم که بیاد چندتا فیلم کوتاه رو از یک پوشه در سرور دانلود کنه و پشت سر هم هر کدوم از این فیلم ها رو در اپ به صورت خودکار نمایش بده و بعد از اتمام هر ویدئو به صورت خودکار ویدئوی بعدی رو نمایش بده.ممنون میشم اگه راهنمایی کنید.مرسی

    • Admin گفت:

      سلام و احترام
      آموزش دانلود کردن فایل توی کانال تلگرامی در دسترس هست
      دقت بفرمایین ویدیو ویو یک متدی داره که باعث میشه زمانی که یک ویدیو به پایان رسید اطلاع بده به شما
      در این رابطه جستجو بزنید
      با احترام.

  4. میثم گفت:

    سلام.با تشکر از سایت خوبتون
    من با این روش ویدئو رو از طریق اینترنت در برنامه تعریف کردم و کار کرد اما بعد از چند روز پیغام “پوزش می طلبیم، پخش این ویدیو امکان پذیر نیست” داده میشه علت چیه؟

  5. امیر گفت:

    سلام و خسته نباشید 

    بنده پوشه raw رو اضافه کردم ولی به هیچ نحو در video path  نمیاره انگار که همچین پوشه ایی وجود نداره امیدوام کمکم کنید ممنون 

    • Admin گفت:

      سلام و احترام
      فیلم آموزشی تهیه شده زیر پست هست دانلود کنید و مشابه فیلم جلو برین.
      معمولا پوشه Raw برای ویدیو پیشنهاد نمیشه که قرار بدین چون حجم اپ افزایش پیدا می کنه بهتر انلاین کار کنید .
      موفق باشین.
      با احترام.

  6. آریان احمدی فرد گفت:

    سلام از شما تشکر میکنم آموزش خوبی بود. خواستم بدونم امکانش هست اموزش های مربوط به videoplayer هایی مثل exoplayer یا mkplayer و یا… رو هم آموزش بدید ؟آیا کار با این ویدیو پلیر ها در بخش کد جاوا تفاوت زیادی با همین آموزشتون داره و پیچیده تره ؟

    • Admin گفت:

      سلام و احترام دوست عزیز
      حتما آموزش خواهیم داد در فرصت مناسب فعلا درگیر فیلم های دیگری هستیم تا برای تمامی دوستان تهیه کنیم.
      انشالا آموزش ها زیادی رو در دست ساخت داریم.
      با احترام.

  7. آنا گفت:

    خیلی ممنون ازتون خیلی خوبه که اینقدر سریع پاسخ میدید امیدوارم در مسیرتون موفق باشید

  8. آنا گفت:

    سلام روزتون بخیرمن میخواهم برنامه ای بنویسم که د رصفحه اکتیویتی چندتا button وجودداشته باشه با زدن هرکدوم از اونها ویدیوئی نمایش پیدا کند که خصوصیاتی که شما برای ویدیو گفتید را داشته باشه.

  9. Javad گفت:

    سلام از شما تشکر میک نم آموزش خوبی بود.

  10. جواد گفت:

    سلام وقت بخیر دوست عزیز از شما و سایت خوبتون تشکر می کنم .