Tạo ứng dụng video cho Android Automotive OS

Ngoài các nguyên tắc nêu trong bài viết Tạo ứng dụng đỗ xe cho Android Automotive OS, có một số yêu cầu dành riêng cho ứng dụng video.

Đánh dấu ứng dụng của bạn là ứng dụng video

Để thể hiện rằng ứng dụng của bạn hỗ trợ video, hãy thêm tệp XML tên là automotive_app_desc.xml vào thư mục res/xml/ trong dự án. Trong tệp này, hãy đưa vào nội dung sau đây:

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

Sau đó, trong phần tử <application> của tệp kê khai, hãy thêm phần tử <meta-data> sau đây tham chiếu đến tệp XML:

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

Hỗ trợ âm thanh khi lái xe

Âm thanh khi lái xe là một tính năng thử nghiệm
Chỉ các đối tác có quyền tiếp cận sớm mới có thể phát hành ứng dụng hỗ trợ âm thanh khi đang lái xe. Mặc dù tính năng này đang ở giai đoạn thử nghiệm, nhưng bạn có thể chuẩn bị ứng dụng để được hỗ trợ bằng cách làm theo hướng dẫn trong phần này.

Nhìn chung, tất cả ứng dụng video phải tạm dừng phát khi các quy định hạn chế về trải nghiệm người dùng đang hoạt động, như mô tả trong phần Đảm bảo không có hoạt động nào được tối ưu hoá để gây mất tập trung.

Tuy nhiên, một số xe có thể hiển thị các chế độ điều khiển phát được tối ưu hoá cho việc lái xe trong khi các hạn chế về trải nghiệm người dùng đang hoạt động, cho phép tiếp tục phát âm thanh.

Tối ưu hoá các chế độ điều khiển phát cho một ứng dụng hỗ trợ âm thanh khi lái xe.
Hình 1: Các chế độ điều khiển phát được tối ưu hoá khi lái xe cho một ứng dụng hỗ trợ âm thanh khi lái xe.

Khai báo rằng ứng dụng của bạn hỗ trợ âm thanh khi đang lái xe

Để cho biết ứng dụng của bạn hỗ trợ âm thanh khi lái xe, hãy thêm phần tử <uses-feature> sau đây vào tệp kê khai:

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

Hỗ trợ phát trong nền

Vì các hoạt động của ứng dụng bị ẩn do các hạn chế về trải nghiệm người dùng của hệ thống, nên ứng dụng của bạn phải hỗ trợ chế độ phát trong nền để tiếp tục phát âm thanh khi lái xe. Hãy xem phần Phát trong nền bằng MediaSessionService để biết thông tin chi tiết về cách thực hiện việc này bằng thư viện Media3.

Ứng dụng của bạn phải đăng thông báo MediaStyle bao gồm MediaSession của ứng dụng. Nếu bạn đang sử dụng MediaSessionService, thì việc này sẽ được xử lý cho bạn theo mặc định.

Xác định dịch vụ hỗ trợ

Để xác định xem thiết bị có hỗ trợ âm thanh khi lái xe hay không, bạn có thể sử dụng lớp CarFeatures trong thư viện androidx.car.app:app.

CarFeatures.isFeatureEnabled(context, CarFeatures.FEATURE_BACKGROUND_AUDIO_WHILE_DRIVING)

Sử dụng thông tin này để sửa đổi hành vi của ứng dụng tuỳ thuộc vào chức năng của thiết bị mà ứng dụng đang chạy. Trên các thiết bị không hỗ trợ âm thanh khi lái xe, ứng dụng của bạn vẫn phải đáp ứng nguyên tắc DD-2.

Kiểm thử âm thanh khi lái xe

Để kiểm thử quá trình triển khai, bạn có thể mô phỏng việc lái xe bằng cách sử dụng hình ảnh trình mô phỏng hỗ trợ âm thanh khi lái xe.

Câu hỏi thường gặp

DRM của Widevine có được hỗ trợ không?

Có, DRM của Widevine L3 được hỗ trợ trên Android Automotive OS.