جستجو برای:
سبد خرید 0
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
ورود
گذرواژه خود را فراموش کرده اید؟
عضویت

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

ارسال مجدد کد یکبار مصرف (00:60)
  • 02171058559
  • info@amooznegar.com
  • لیست علاقه مندی ها
آکادمی آموزنگار
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

آکادمی آموزنگار > اخبار > برنامه نویسی > اندروید > پخش ویدیو در اندروید با  Exo Player

پخش ویدیو در اندروید با  Exo Player

1398-12-04
ارسال شده توسط آموزنگار
اندروید
پخش ویدیو در اندروید با Exo Player

پخش ویدیو یکی از قابلیت‌های پرکاربرد در برنامه‌نویسی اندروید است که در بسیاری از اپلیکیشن‌های چندرسانه‌ای، آموزشی و سرگرمی استفاده می‌شود. در این مقاله، به بررسی روش‌های مختلف پخش ویدیو در اندروید، پروتکل‌های استریمینگ، قابلیت‌های Media3، نیازمندی‌های پیاده‌سازی آن و در نهایت یک مثال عملی برای استفاده از ExoPlayer خواهیم پرداخت.

روش‌های پخش ویدیو در اندروید

در برنامه‌نویسی اندروید، روش‌های مختلفی برای پخش ویدیو وجود دارد که بسته به نیاز پروژه و امکانات مورد نظر می‌توان از آن‌ها استفاده کرد. مهم‌ترین روش‌ها عبارتند از:

  1. VideoView: یکی از ساده‌ترین راه‌ها برای پخش ویدیو در اندروید استفاده از VideoView است. این روش برای پخش ویدیوهای محلی و برخی استریم‌های ساده مناسب است اما امکانات محدودی دارد.
  2. MediaPlayer: یک API سطح پایین‌تر که کنترل بیشتری روی پخش ویدیو ارائه می‌دهد، اما پیاده‌سازی پیچیده‌تری نسبت به VideoView دارد.
  3. ExoPlayer (Media3): پیشرفته‌ترین راهکار پخش ویدیو در اندروید، ExoPlayer است که اکنون بخشی از Media3 شده است. این کتابخانه از قابلیت‌هایی مانند پشتیبانی از پروتکل‌های مختلف استریمینگ، سفارشی‌سازی پیشرفته و دانلود آفلاین پشتیبانی می‌کند.

پروتکل‌های استریمینگ در اندروید

برای پخش ویدیوهای آنلاین در برنامه‌نویسی اندروید، از پروتکل‌های مختلفی استفاده می‌شود. مهم‌ترین آن‌ها شامل:

  1. HTTP Progressive Streaming: روشی که در آن ویدیو به‌صورت تدریجی دانلود و پخش می‌شود. ساده اما کم‌انعطاف است.
  2. HLS (HTTP Live Streaming): یک پروتکل تطبیقی که کیفیت ویدیو را بر اساس سرعت اینترنت تغییر می‌دهد و گزینه‌ای عالی برای پخش زنده است.
  3. DASH (Dynamic Adaptive Streaming over HTTP): مشابه HLS اما با قابلیت‌های پیشرفته‌تر و کارایی بالاتر.
  4. RTSP (Real-Time Streaming Protocol): بیشتر در کاربردهای زنده و امنیتی مانند دوربین‌های نظارتی استفاده می‌شود.
آموزش برنامه نویسی اندروید و پیش نیاز های آن
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

Exo Player در اندروید

Exo Player یک از  کتابخانه هایی  است تحت توسعه گوگل  برای استریم و پلی کردن ویدیو و صدا استفاده می شود. این کتابخانه در مراسم Google i/o 2017 معرفی شد و مورد استقبال برنامه نویسان اندروید قرار گرفت و خیلی زود توانست جایگزین Media Player و VideoView شود.

قابلیت های Exo Player :

  • Create Player  : با ایجاد یک نمونه از SimpleExoPlayer میتوان انواع رسانه را play کرد
  • Activity lifecyle  دارا بودن چرخه حیات
  • Monitor Events : قابلیت رجیستر کردن رویداد ها
  • UI Component : این پلیر دارای ظاهر گرافیکی قدرتمند و قابل سفارشی سازی میباشد
  • قابلیت پشتیبانی از فرمت های ویدیویی و کدک ها
  • قابلیت پشتیبانی از HLS
  • همچنین خود گوگل در پروژه ی یوتیوب  از Exo Player استفاده میکند .

قابلیت‌های Media3 و ExoPlayer

Media3 نسخه‌ی بهبودیافته و یکپارچه شده‌ی APIهای چندرسانه‌ای گوگل است که ExoPlayer نیز بخشی از آن محسوب می‌شود. برخی از مهم‌ترین ویژگی‌های Media3 ExoPlayer عبارتند از:

  • پشتیبانی از انواع فرمت‌های ویدیویی (MP4, MKV, WebM, AVI, FLV, و غیره)
  • سازگاری با پروتکل‌های استریمینگ مانند HLS و DASH
  • کنترل‌های سفارشی پخش ویدیو
  • دانلود ویدیو برای مشاهده آفلاین
  • مدیریت پیشرفته‌ی حافظه و مصرف بهینه‌ی منابع دستگاه
  • پشتیبانی از زیرنویس و چندین ترک صوتی
  • هماهنگی با Android Jetpack برای توسعه‌ی مدرن اپلیکیشن‌های اندرویدی

نیازمندی های پیاده سازی Exo Player :

  • نسخه اندروید استودیو بالاتر از 3.5 باشد
  • نسخه اندروید بالاتر از ۴.۱ باشد
  • آشنایی با مفاهیم کلی برنامه نویسی اندروید

نیازمندی‌های پیاده‌سازی Media3 در اندروید

برای استفاده از ExoPlayer در برنامه‌نویسی اندروید، ابتدا باید کتابخانه‌های لازم را در فایل build.gradle اضافه کنید:

dependencies {
    implementation 'androidx.media3:media3-exoplayer:1.2.0'
    implementation 'androidx.media3:media3-ui:1.2.0'
}

همچنین نیاز به دسترسی‌های اینترنتی برای استریم ویدیو داریم، بنابراین باید این مجوز را در فایل AndroidManifest.xml اضافه کنیم:

<uses-permission android:name="android.permission.INTERNET" />

مثال عملی: پیاده‌سازی ExoPlayer در اندروید

در این بخش، یک مثال ساده از آموزش برنامه‌نویسی اندروید برای پخش ویدیو با ExoPlayer در Media3 ارائه می‌شود.

دانلود اندروید استودیو | نصب و راه اندازی اندروید استودیو
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

۱. افزودن PlayerView به activity_main.xml

<com.google.android.exoplayer2.ui.PlayerView
    android:id="@+id/player_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

۲. مقداردهی اولیه و پخش ویدیو در MainActivity.kt

import android.net.Uri
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.media3.common.MediaItem
import androidx.media3.exoplayer.ExoPlayer
import androidx.media3.ui.PlayerView

class MainActivity : AppCompatActivity() {
    private var player: ExoPlayer? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val playerView = findViewById<PlayerView>(R.id.player_view)
        player = ExoPlayer.Builder(this).build().also { exoPlayer ->
            playerView.player = exoPlayer
            val mediaItem = MediaItem.fromUri(Uri.parse("https://www.example.com/video.mp4"))
            exoPlayer.setMediaItem(mediaItem)
            exoPlayer.prepare()
            exoPlayer.playWhenReady = true
        }
    }

    override fun onStop() {
        super.onStop()
        player?.release()
        player = null
    }
}

نتیجه‌گیری

در این مقاله، روش‌های مختلف پخش ویدیو در اندروید بررسی شد و در نهایت، از Media3 و ExoPlayer برای پیاده‌سازی یک پلیر پیشرفته استفاده کردیم. ExoPlayer به‌دلیل قابلیت‌های پیشرفته‌ای مانند پشتیبانی از استریمینگ تطبیقی، سفارشی‌سازی و بهینه‌سازی منابع، گزینه‌ای مناسب برای اپلیکیشن‌های مدرن محسوب می‌شود. با استفاده از این آموزش، می‌توانید یک پخش‌کننده‌ی حرفه‌ای در پروژه‌ی برنامه‌نویسی اندروید خود ایجاد کنید.

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

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

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • GoLang
  • jetpack compose
  • PHP
  • اپلیکیشن
  • امنیت
  • اندروید
  • اوپن سورس
  • برنامه نویسی
  • برنامه نویسی iOS
  • برنامه نویسی react native
  • پادکست صوتی
  • تکنولوژی
  • جاوا
  • طراح رابط کاربری
  • طراحی رابط کاربری
  • طراحی وب
  • عمومی
  • فریلنسر
  • فلاتر
  • فناوری
  • کاتلین
  • کتاب های آموزشی
  • کسب و کار
  • هوش مصنوعی
  • وردپرس
برچسب‌ها
admob coroutine dagger dagger-hilt jetpack nft rxandroid rxjava spring swift ارز دیجیتال امنیت در اندروید دارت فایربیس فوشیا مصاحبه کاری معماری mvi نقشه راه برنامه نویسی کاتلین گوگل

آکادمی آموزنگار، جایی برای آغاز یک سفر شگفت‌انگیز در دنیای برنامه‌نویسی است. آموزنگار تلاش می‌کند تا هر فردی را از هر سطحی از زندگی و تجربه به دنیای جذاب برنامه‌نویسی وارد کند.

دسترسی سریع
  • درباره ما
  • تماس با ما
  • حریم خصوصی
  • سوالات متداول
نمادها
شبکه های اجتماعی
Facebook Twitter Youtube icon--white Whatsapp

تهران، ازگل ، مجتمع تجاری الماس ایرانیان، پارک علم و فناوری فردا

021-71058559

تمامی حقوق برای آکادمی آموزنگار محفوظ می باشد

اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://amooznegar.com/?p=10660
ورود
استفاده از شماره تلفن
استفاده از آدرس ایمیل
آیا هنوز عضو نشده اید؟ ثبت نام کنید
بازیابی رمز عبور
استفاده از شماره تلفن
استفاده از آدرس ایمیل
ثبت نام
استفاده از شماره تلفن
استفاده از ایمیل
قبلا عضو شده اید؟ ورود به سیستم
محافظت توسط   
مرورگر شما از HTML5 پشتیبانی نمی کند.

سوالی دارید؟ از ما بپرسید، کارشناسان ما در اسرع وقت با شما تماس می گیرند.

آموزنگار

آکادمی آموزنگار

  • 021-71058559
  • شنبه تا چهارشنبه از ساعت 8 تا 17
  • info@amooznegar.com