Jetpack Media3 خانه جدیدی برای کتابخانه های رسانه ای است که برنامه های اندروید را قادر می سازد تا تجربیات صوتی و بصری غنی را به نمایش بگذارند. Media3 یک معماری ساده با سفارشیسازی، قابلیت اطمینان و بهینهسازی قدرتمند بر اساس قابلیتهای دستگاه ارائه میدهد تا پیچیدگی ناشی از تکه تکه شدن را از بین ببرد.
این سند مقدمه ای بر API های کلیدی برای اجرای پخش و ویرایش موارد استفاده با Media3 ارائه می دهد.
اجزای پخش
Media3 چندین مؤلفه کلیدی را برای موارد استفاده پخش ارائه می دهد. اگر با کتابخانه های رسانه ای اندروید قبلی کار کرده باشید، کلاس هایی که این مؤلفه ها را تشکیل می دهند برای شما آشنا خواهند بود.
نمودار زیر نشان می دهد که چگونه این اجزا در یک برنامه معمولی با هم ترکیب می شوند.
پخش کننده رسانه
پخش کننده رسانه بخشی از برنامه شما است که امکان پخش فایل های رسانه ای را فراهم می کند. در 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 توسط مهندسانی که آن را ساخته اند، ویدیوی زیر را ببینید.
لینک های مفید
- مرکز توسعه دهندگان رسانه
- اسناد
ExoPlayer
- راهنمای مهاجرت
- AndroidX Media3 در GitHub
- برنامه نمونه جلسه رسانه Media3
- نمونه برنامه پخش موسیقی جهانی اندروید