آموزش پخش رسانه اندروید با Media3 ExoPlayer و Compose - آخرین آپدیت

دانلود Android Media Playback with Media3 ExoPlayer and Compose

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

این دوره جامع، شما را در مسیر ساخت یک تجربه پخش رسانه تعاملی و پیشرفته در برنامه‌های اندروید با استفاده از کتابخانه‌های قدرتمند Media3 ExoPlayer و Jetpack Compose یاری می‌کند. با ما همراه شوید تا رابط کاربری پخش رسانه را به شکلی مدرن و کاربرپسند طراحی کرده، اجزای کلیدی Jetpack Media3 و کاربردهای آن‌ها را بشناسید، و به درک عمیقی از TextureView و SurfaceView — دو سینک اصلی ویدیو برای ExoPlayer — دست یابید. همچنین، مباحثی چون استریم تطبیقی (Adaptive Streaming)، کدک‌های رسانه، نحوه درج تبلیغات ویدیویی با استفاده از VAST و VMAP در ExoPlayer و پیچیدگی‌های مدیریت حقوق دیجیتال (DRM) را خواهید آموخت تا بتوانید جریان‌های محافظت شده را با ExoPlayer پخش کنید. در نهایت، با محدودیت‌های منابع رسانه‌ای در اندروید و روش‌های بهینه مدیریت آن‌ها آشنا خواهید شد.

پیش نیازها:

  • عدم نیاز به دانش قبلی در زمینه پخش رسانه.
  • چند ماه تجربه در توسعه اندروید.
  • چند ماه تجربه در کار با Jetpack Compose.

در این دوره آموزشی، نحوه ساخت یک برنامه پخش رسانه کاملاً کاربردی را با استفاده از کتابخانه مدرن Media3 ExoPlayer اندروید خواهید آموخت. تمرکز ما بر ادغام بی‌درز قابلیت پخش رسانه خواهد بود، ضمن اینکه از Jetpack Compose برای طراحی یک رابط کاربری مدرن و تعاملی بهره خواهیم برد.

این دوره برای توسعه‌دهندگان اندروید طراحی شده است که به دنبال پیاده‌سازی قابلیت پخش رسانه در برنامه‌های خود هستند. اگرچه تجربه قبلی با پخش رسانه الزامی نیست، اما باید درک مناسبی از توسعه اندروید داشته باشید و با Jetpack Compose آشنا باشید. هدف اصلی، بررسی عمیق ExoPlayer و قابلیت‌های آن است، نه تمرکز بر معماری پاک (Clean Architecture).

آنچه در این دوره خواهید آموخت:

  • مروری بر کتابخانه Media3

    با اجزای اصلی Media3، از جمله exoPlayer، exoPlayer-ui، mediaSession و transformer آشنا شوید. این دوره عمدتاً بر ExoPlayer برای مدیریت پخش صدا و ویدیو تمرکز دارد.

  • TextureView در مقابل SurfaceView

    تفاوت‌های بین TextureView و SurfaceView را بیاموزید؛ این دو سینک ویدیویی اصلی برای رندر محتوای ویدیویی استفاده می‌شوند.

  • رابط کاربری تعاملی با Jetpack Compose

    یک رابط پخش تعاملی با استفاده از Jetpack Compose بسازید، با قابلیت‌هایی مانند جستجو در ویدیو، انتخاب آهنگ (track selection) و رندر نوار زمان، همراه با بهینه‌سازی مصرف حافظه.

  • کدک‌ها و منابع رسانه‌ای

    استریم تطبیقی (Adaptive Streaming)، کدک‌های رسانه و فرمت‌های کانتینر را بررسی کنید و نحوه تعامل اجزای مختلف در ExoPlayer را در طول پخش رسانه ارزیابی نمایید.

  • تبلیغات ویدیویی با ExoPlayer IMA

    نحوه درج تبلیغات ویدیویی با استفاده از IMA SDK (Interactive Media Ads) در ExoPlayer را بیاموزید. با VAST (Video Ad Serving Template) و VMAP (Video Multiple Ad Playlist) آشنا شوید.

  • مدیریت حقوق دیجیتال (DRM)

    درک عمیقی از نحوه عملکرد DRM در اندروید و چگونگی پیکربندی ExoPlayer برای پخش محتوای محافظت شده با DRM کسب کنید.

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


سرفصل ها و درس ها

Course Introduction

  • چه کسانی می‌توانند این دوره را بگذرانند Who can take this course

  • هدف اصلی دوره Course primary goal

  • آنچه در این دوره خواهید آموخت What you will learn in this course

معرفی Jetpack Media3 Introduction to Jetpack Media3

  • دانلود کد منبع Media3 Download media3 source code

  • مولفه‌های اصلی Jetpack Media3 The core components of Jetpack media3

پیاده‌سازی تجربه پخش رسانه با ExoPlayer در چند دقیقه Implement media playback experience with ExoPlayer in Minutes

  • افزودن یک سطح ویدئویی Adding a video surface

  • افزودن وابستگی‌های ExoPlayer Add ExoPlayer dependencies

  • شروع پخش ویدئو با استفاده از ExoPlayer Start video playback using ExoPlayer

سینک‌های ویدئویی در ExoPlayer Video Sinks in ExoPlayer

  • آشنایی با SurfaceView و AndroidExternalSurface Composable Understanding SurfaceView and AndroidExternalSurface Composable

  • آشنایی با TextureView و AndroidEmbeddedExternalSurface Composable Understanding TextureView and AndroidEmbeddedExternalSurface Composable

  • مقایسه SurfaceView و TextureView برای پخش محتوای DRM Compare SurfaceView and TextureView for DRM content playback

  • مقایسه SurfaceView و TextureView برای ترکیب آلفای ویدئو Compare SurfaceView and TextureView for video alpha blending

  • مقایسه SurfaceView و TextureView برای چرخش ویدئو Compare SurfaceView and TextureView for video rotation

  • مقایسه SurfaceView و TextureView برای مقیاس‌گذاری و انتقال ویدئو Compare SurfaceView and TextureView for video scaling and transition

  • مقایسه عملکرد رندرینگ ویدئوی SurfaceView و TextureView Compare SurfaceView and TextureView video rendering performance

منابع رسانه و کدک‌های رسانه Media Sources and Media Codecs

  • منابع رسانه‌ای تطبیقی و پیشرونده Adaptive and progressive media sources

  • مروری بر محتوای مانیفست DASH DASH manifest content overview

  • مروری بر کدک رسانه و کانتینر رسانه Media codec and media container overview

  • نحوه عملکرد کدک رسانه How media codec works

  • گردش کار پخش رسانه در ExoPlayer ExoPlayer media playback workflow

پیاده‌سازی اپلیکیشن پخش رسانه با ExoPlayer و Compose Implement Media Playback App with ExoPlayer and Compose

  • پاکسازی کد اپلیکیشن App code clean up

  • تکمیل صفحه اصلی اپلیکیشن با فراداده فیلم Finish app home screen with movie metadata

  • ارسال URL استریم ویدئو به PlaybackActivity Pass video stream url to PlaybackActivity

  • ایجاد PlayerViewModel برای صفحه پخش ویدئو Create PlayerViewModel for video playback screen

  • پاکسازی منابع رسانه از ExoPlayer Clean up media resources from ExoPlayer

  • انتقال وضعیت‌های ExoPlayer ExoPlayer state transitions

  • استفاده از شنونده‌های رویداد ExoPlayer برای تنظیم نسبت ابعاد ویدئو Use ExoPlayer event listeners to fix video aspect ratio

  • افزودن پوشش پخش‌کننده و دکمه تغییر حالت تمام‌صفحه Add player overlay and full screen toggle button

  • پیاده‌سازی قابلیت تغییر حالت تمام‌صفحه Implement full screen toggle functionality

  • افزودن دکمه‌های وضعیت پخش به پوشش پخش‌کننده Add playback state buttons to player overlay

  • افزودن قابلیت‌های کنترل وضعیت پخش Add playback state control functionalities

  • افزودن نوار زمان به پوشش پخش‌کننده Adding a time bar to player overlay

  • افزودن یک تصویر جایگزین برای حالت بیکار Add a placeholder image for idle state

  • افزودن UiModels برای ویژگی انتخاب ترک Add UiModels for track selection feature

  • دریافت اطلاعات ترک رسانه از ExoPlayer Get media track information from ExoPlayer

  • افزودن توابع تغییر ترک رسانه Add media track switching functions

  • افزودن رابط کاربری انتخاب ترک رسانه Add media track selection UI

  • افزودن رابط کاربری برای رندر زیرنویس ویدئو Add UI to render video subtitles

  • استفاده از حافظه heap بزرگ در دستگاه‌های قدیمی اندروید Use large heap on old Android devices

  • آشنایی با مصرف حافظه heap جاوا در ExoPlayer Understanding java heap memory usage in ExoPlayer

  • پیاده‌سازی چالش کد نمای تقسیم‌شده با LoadControl و بازنویسی ترک Implement split view code challenge with LoadControl and track override

  • مقایسه مصرف حافظه بین ExoPlayer و پخش‌کننده Shaka Webview Compare memory usage between ExoPlayer and Shaka Webview player

جاسازی تبلیغات ویدئویی Video Ad Insertion

  • مقدمه‌ای بر جاسازی تبلیغات Introduction to ad insertion

  • مقدمه‌ای بر تگ‌های تبلیغاتی Introduction to ad tags

  • مقدمه‌ای بر VMAP و VAST Introduction to VMAP and VAST

  • افزودن وابستگی IMA ExoPlayer و URL تگ تبلیغاتی Add ExoPlayer IMA dependency and ad tag url

  • بارگذاری تبلیغات در محتوا با استفاده از ImaAdsLoader Load ads into content using ImaAdsLoader

  • افزودن UiModels برای رابط کاربری پخش تبلیغات Add UiModels for ad playback UI

  • دریافت وضعیت‌های پخش تبلیغات از ExoPlayer و IMA SDK Get ad playback states from ExoPlayer and IMA sdk

  • پیاده‌سازی توابع composable برای رابط کاربری پخش تبلیغات Implement composable functions for ad playback UI

مدیریت حقوق دیجیتال Digital Rights Management

  • مقدمه‌ای بر DRM (مدیریت حقوق دیجیتال) Introduction to DRM (Digital Rights Management)

  • طرح DRM و مجوز DRM DRM scheme and DRM license

  • محدودیت‌های منابع DRM DRM resource limitations

  • نمودار گردش کار DRM DRM workflow diagram

نمایش نظرات

آموزش پخش رسانه اندروید با Media3 ExoPlayer و Compose
جزییات دوره
7 hours
54
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
93
4.7 از 5
دارد
دارد
دارد
Baiqin Wang
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar