توسعهدهندگان برنامههای رسانهای میتوانند از کتابخانه برنامه خودرو (CAL) برای ساخت رابط کاربری برنامه خود استفاده کنند. این کتابخانه جایگزینی برای روش مرسوم ارائه دادهها از طریق MediaBrowserService برای رندر CarMediaApp ارائه میدهد.
برنامههای رسانهای قالببندیشده مبتنی بر CAL به توسعهدهندگان اجازه میدهند رابط کاربری را متناسب با هویت برند خود سفارشی کنند. برخلاف برنامههای مبتنی بر CAL، برنامههای رسانهای مرسوم که از MediaBrowserService و CarMediaApp استفاده میکنند، به توسعهدهندگان اجازه نمیدهند سبک رابط کاربری را سفارشی کنند؛ این سبک توسط OEM کنترل میشود.
توسعهدهندگان میتوانند یک برنامه رسانهای قالببندیشده بسازند که از Android Auto و Android Automotive OS (AAOS) پشتیبانی کند.
ادغام
پشتیبانی از برنامههای رسانهای قالببندیشده مبتنی بر CAL نیاز به یکپارچهسازی پلتفرم دارد.
پیشنیازها
کنترلهای جایگزین برنامهها، برنامهها را قادر میسازد تا صدای پسزمینه را پخش کنند و در عین حال کنترلهای بهینهسازیشده برای حواسپرتی را برای کنترل آن صدا ارائه میدهند.
کنترلهای جایگزین برنامه در Car-apps-release-14 و بالاتر موجود است.
- برنامهها را قادر میسازد تا صدای پسزمینه را پخش کنند
- به برنامههایی که
MediaBrowserServiceاستفاده نمیکنند، اجازه میدهد همچنان از طریق کارت حافظه سیستم کنترل شوند.
این پلتفرم باید پشتیبانی از
com.android.car.background_audio_while_drivingرا اعلام کند.
تغییرات پلتفرم
CarMediaApp پلتفرم باید:
- مجوز فعال کردن فعالیت CAL یک برنامه رسانهای را داشته باشید. به مثال کد مراجعه کنید.
- در دستگاههایی که از ویژگی
android.software.car.templates_host.mediaپشتیبانی میکنند، به جای Media Center، اکتیویتی CAL را اجرا کنید. به مثال کد مراجعه کنید.
لانچر خودرو این پلتفرم باید:
- پس از فعال کردن فعالیت CAL یک برنامه رسانهای توسط
CarMediaApp، فقط یک آیکون برنامه در Car Launcher نمایش داده شود. - به پخش
PACKAGE_CHANGEDگوش دهید و لیست برنامهها را بهروزرسانی کنید. به مثال کد مراجعه کنید.
کارت رسانه یا ویجت پلتفرم باید:
- پخش صدا در کارت رسانه را نشان دهید.
پیکربندی ساخت
این پلتفرم باید پشتیبانی از android.software.car.templates_host.media را اعلام کند:
<permissions>
<!-- Declare support for templated applications. -->
<feature name="android.software.car.templates_host" />
<!-- This feature indicates that the system supports apps that use the
Car App Library Media category -->
<feature name="android.software.car.templates_host.media"/>
</permissions>
تست
پشتیبانی پلتفرم تست برای برنامههای رسانهای مبتنی بر CAL با استفاده از TestMediaCalApp . TestMediaCalApp یک برنامه رسانهای ساخته شده با کتابخانه برنامه خودرو است که میزبان قالبها آن را روی پلتفرم رندر میکند.
TestMediaCalApp.apkرا نصب کنید.برنامهای با نام Test Media3 CAL App را در لانچر خود باز کنید:

شکل ۱. تست برنامه Media3 CAL روی لانچر خودرو.
پس از اجرای برنامه، به لانچر برگردید و مشاهده کنید که نام برنامه به Test Media CAL App تغییر یافته است. برنامه قبلی با نام Test Media3 CAL App دیگر نباید قابل مشاهده باشد:

شکل ۲. تست برنامه CAL رسانهای روی لانچر خودرو.
برنامه Test Media CAL را باز کنید و با ضربه زدن روی یک آهنگ در لیست پخش، هر آهنگی را پخش کنید:

شکل ۳. نمای لیست پخش رندر شده توسط App Host.
مشاهده کنید که نمای در حال پخش (
MediaPlaybackTemplate) باز شده است:
شکل ۴. نمای در حال پخش که توسط App Host رندر شده است.
مشاهده کنید که فرادادههای در حال پخش در ویجت رسانه صفحه اصلی نمایش داده میشوند:

شکل ۵. کارت رسانه.