برنامه‌های رسانه‌ای با کتابخانه برنامه‌های خودرو

توسعه‌دهندگان برنامه‌های رسانه‌ای می‌توانند از کتابخانه برنامه خودرو (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 یک برنامه رسانه‌ای ساخته شده با کتابخانه برنامه خودرو است که میزبان قالب‌ها آن را روی پلتفرم رندر می‌کند.

  1. TestMediaCalApp.apk را نصب کنید.

  2. برنامه‌ای با نام Test Media3 CAL App را در لانچر خود باز کنید:

    برنامه Media3 CAL را روی لانچر خودرو تست کنید

    شکل ۱. تست برنامه Media3 CAL روی لانچر خودرو.

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

    برنامه CAL رسانه را در لانچر خودرو تست کنید

    شکل ۲. تست برنامه CAL رسانه‌ای روی لانچر خودرو.

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

    نمای لیست پخش توسط App Host رندر شده است

    شکل ۳. نمای لیست پخش رندر شده توسط App Host.

  5. مشاهده کنید که نمای در حال پخش ( MediaPlaybackTemplate ) باز شده است:

    نمای در حال پخش توسط App Host رندر شده است

    شکل ۴. نمای در حال پخش که توسط App Host رندر شده است.

  6. مشاهده کنید که فراداده‌های در حال پخش در ویجت رسانه صفحه اصلی نمایش داده می‌شوند:

    کارت رسانه

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