مقدمه ای بر Jetpack Media3

Jetpack Media3 خانه جدیدی برای کتابخانه های رسانه ای است که برنامه های اندروید را قادر می سازد تا تجربیات صوتی و بصری غنی را به نمایش بگذارند. Media3 یک معماری ساده با سفارشی‌سازی، قابلیت اطمینان و بهینه‌سازی قدرتمند بر اساس قابلیت‌های دستگاه ارائه می‌دهد تا پیچیدگی ناشی از تکه تکه شدن را از بین ببرد.

این سند مقدمه ای بر API های کلیدی برای اجرای پخش و ویرایش موارد استفاده با Media3 ارائه می دهد.

اجزای پخش

Media3 چندین مؤلفه کلیدی را برای موارد استفاده پخش ارائه می دهد. اگر با کتابخانه های رسانه ای اندروید قبلی کار کرده باشید، کلاس هایی که این مؤلفه ها را تشکیل می دهند برای شما آشنا خواهند بود.

نمودار زیر نشان می دهد که چگونه این اجزا در یک برنامه معمولی با هم ترکیب می شوند.

اجزای مختلف یک برنامه رسانه ای که از Media3 استفاده می کند، به دلیل اشتراک گذاری رابط ها و کلاس ها، به چندین روش ساده به یکدیگر متصل می شوند.
شکل 1 : اجزای برنامه رسانه

پخش کننده رسانه

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

کلاس توضیحات یادداشت اجرایی
Player Player رابطی است که قابلیت های سنتی سطح بالا را برای پخش کننده رسانه تعریف می کند، مانند توانایی پخش، مکث و جستجو. در Media3، رابط Player یک API مشترک است که توسط چندین مؤلفه، از جمله MediaSession و MediaController ، پیاده‌سازی یا استفاده می‌شود.
ExoPlayer ExoPlayer پیاده سازی پیش فرض رابط Player در Media3 است.

درباره Media3 ExoPlayer بیشتر بدانید

جلسه رسانه

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

کلاس توضیحات یادداشت اجرایی
MediaSession جلسات رسانه به برنامه شما امکان می دهد با پخش کننده صوتی یا تصویری تعامل داشته باشد. آنها پخش رسانه را به صورت خارجی تبلیغ می کنند و دستورات پخش را از منابع خارجی دریافت می کنند. در Media3، MediaSession برای اجرای دستورات و به دست آوردن وضعیت فعلی به یک Player نیاز دارد.
MediaSessionService MediaSessionService یک جلسه رسانه و پخش کننده مرتبط با آن را در سرویسی جدا از Activity اصلی برنامه شما برگزار می کند تا پخش پس زمینه را تسهیل کند.
MediaController کلاس MediaController معمولاً برای ارسال دستورات از خارج از برنامه شما، به عنوان مثال از سایر برنامه ها یا خود سیستم استفاده می شود. دستورات به Player زیربنایی MediaSession مرتبط ارسال می شوند. کلاس MediaController رابط Player را پیاده سازی می کند، اما هنگام فراخوانی یک متد، دستور به MediaSession متصل ارسال می شود. برنامه های سرویس گیرنده مانند Google Assistant می توانند از MediaController برای کنترل پخش در یک جلسه متصل استفاده کنند.
MediaLibraryService MediaLibraryService مشابه MediaSessionService است، با این تفاوت که شامل API های اضافی است تا بتوانید کتابخانه محتوای خود را به برنامه های مشتری ارائه دهید.
MediaBrowser کلاس MediaBrowser به کاربر این امکان را می دهد که در کتابخانه محتوای یک برنامه رسانه پیمایش کند و انتخاب کند که کدام آیتم ها پخش شوند. کلاس MediaBrowser هر دو رابط MediaController و Player را پیاده سازی می کند. مشابه MediaController ، برنامه های مشتری مانند Android Auto معمولا MediaBrowser پیاده سازی می کنند.

درباره Media3 MediaSession بیشتر بیاموزید

اجزای رابط کاربری

Media3 اجزای رابط کاربری پیش فرض را برای مشاهده ویدیو و کنترل پخش فراهم می کند.

کلاس توضیحات تبصره اجرایی
PlayerView یک View پیش‌فرض برای نمایش ویدیو و کنترل‌های پخش. به ExoPlayer ، MediaController یا هر Player سفارشی دیگری متصل می شود.

درباره رابط کاربری Media3 بیشتر بدانید

ویرایش مولفه ها

Media3 شامل API های Transformer برای موارد استفاده ویرایش رسانه، از جمله:

  • پردازش صدا و تصویر، مانند افزودن فیلترها و افکت ها
  • مدیریت فرمت های خاص، مانند ویدیوی HDR و ویدیوی حرکت آهسته
  • ترکیب بندی، مانند ترکیب چندین فایل ورودی
  • صادرات خروجی نهایی به یک فایل
کلاس توضیحات یادداشت اجرایی
Transformer از کلاس Transformer برای شروع و توقف تبدیل ها و بررسی به روز رسانی های پیشرفت در یک تبدیل در حال اجرا استفاده کنید.
Effects یک شیء Effects مجموعه ای از جلوه های صوتی و تصویری برای اعمال بر روی یک آیتم رسانه ای است.
EditedMediaItem یک EditedMediaItem نشان دهنده یک آیتم رسانه برای پردازش و ویرایش هایی است که باید روی آن اعمال شود. می توانید از ExoPlayer برای پیش نمایش افکت های اضافه شده به یک آیتم رسانه قبل از شروع فرآیند صادرات استفاده کنید.

درباره Media3 Transformer بیشتر بدانید

ویدیوی معرفی

برای آشنایی با Media3 توسط مهندسانی که آن را ساخته اند، ویدیوی زیر را ببینید.