ساخت برنامه های ویدیویی برای سیستم عامل Android Automotive

علاوه بر دستورالعمل‌هایی که در ساخت برنامه‌های پارک شده برای سیستم‌عامل Android Automotive توضیح داده شده است، برخی الزامات خاص برای برنامه‌های ویدیویی وجود دارد.

برنامه خود را به عنوان یک برنامه ویدیویی علامت گذاری کنید

برای نشان دادن اینکه برنامه شما از ویدیو پشتیبانی می کند، یک فایل XML به نام automotive_app_desc.xml را به فهرست res/xml/ پروژه خود اضافه کنید. در این فایل مطالب زیر را قرار دهید:

<automotiveApp>
  <uses name="video"/>
</automotiveApp>

سپس، در عنصر <application> مانیفست خود، عنصر <meta-data> زیر را به فایل XML اضافه کنید:

<meta-data
  android:name="com.android.automotive"
  android:resource="@xml/automotive_app_desc"/>

پشتیبانی از صدا در حین رانندگی

صدا در حین رانندگی یک ویژگی بتا است
انتشار برنامه‌هایی که از صدا در حین رانندگی پشتیبانی می‌کنند به شرکای دسترسی اولیه محدود می‌شود. در حالی که این ویژگی در مرحله آزمایشی است، می‌توانید با دنبال کردن دستورالعمل‌های موجود در این بخش، اپلیکیشن خود را برای پشتیبانی آماده کنید.

به طور کلی، همه برنامه‌های ویدیویی باید وقتی محدودیت‌های تجربه کاربر فعال هستند، پخش را متوقف کنند، همانطور که در «مطمئن شوید که فعالیت‌های بهینه‌سازی حواس‌پرتی وجود ندارد» توضیح داده شده است.

با این حال، برخی از وسایل نقلیه این توانایی را دارند که کنترل‌های پخش بهینه‌شده رانندگی را در حالی که محدودیت‌های تجربه کاربر فعال هستند، نمایش دهند که ادامه پخش صدا را ممکن می‌سازد.

رانندگی کنترل‌های پخش بهینه برای برنامه‌ای که از صدا در حین رانندگی پشتیبانی می‌کند.
شکل 1 : رانندگی کنترل‌های پخش بهینه برای برنامه‌ای که از صدا در حین رانندگی پشتیبانی می‌کند.

اعلام کنید که برنامه شما از صدا در حین رانندگی پشتیبانی می کند

برای نشان دادن اینکه برنامه شما هنگام رانندگی از صدا پشتیبانی می کند، عنصر <uses-feature> زیر را در مانیفست خود اضافه کنید:

<application ...>
    ...
    <uses-feature android:name="com.android.car.background_audio_while_driving" android:required="false">
    ....
</application>

پشتیبانی از پخش پس‌زمینه

از آنجایی که فعالیت‌های برنامه شما توسط محدودیت‌های UX سیستم پنهان است، برنامه شما باید از پخش پس‌زمینه برای ادامه پخش صدا در حین رانندگی پشتیبانی کند. برای جزئیات در مورد نحوه انجام این کار با استفاده از کتابخانه Media3، به پخش پس‌زمینه با MediaSessionService مراجعه کنید.

برنامه شما باید یک اعلان MediaStyle ارسال کند که شامل MediaSession برنامه شما باشد. اگر از MediaSessionService استفاده می کنید، این به طور پیش فرض برای شما انجام می شود.

پشتیبانی را تعیین کنید

برای تعیین اینکه آیا دستگاهی هنگام رانندگی از صدا پشتیبانی می کند یا خیر، می توانید از کلاس CarFeatures از کتابخانه androidx.car.app:app استفاده کنید.

CarFeatures.isFeatureEnabled(context, CarFeatures.FEATURE_BACKGROUND_AUDIO_WHILE_DRIVING)

از این اطلاعات برای تغییر رفتار برنامه خود بسته به قابلیت های دستگاهی که روی آن اجرا می شود استفاده کنید. در دستگاه‌هایی که هنگام رانندگی از صدا پشتیبانی نمی‌کنند، برنامه شما همچنان باید دستورالعمل DD-2 را رعایت کند.

تست صدا در حین رانندگی

برای آزمایش پیاده سازی خود، می توانید رانندگی قوطی را با استفاده از یک تصویر شبیه ساز که از صدا در حین رانندگی پشتیبانی می کند ، شبیه سازی کنید.

سوالات متداول

آیا Widevine DRM پشتیبانی می شود؟

بله، Widevine DRM L3 در سیستم عامل Android Automotive پشتیبانی می شود.