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

Để cho biết rằng ứng dụng của bạn là một ứng dụng video, hãy thêm thuộc tính android:appCategory="video" vào phần tử <application> của tệp kê khai.

<manifest ...>
    ...
    <application
      ...
      android:appCategory="video">
        ...
    </application>
</manifest>

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ỉ những đối tác có quyền tiếp cận sớm mới được phép xuất bản ứng dụng hỗ trợ âm thanh khi lái xe. Trong giai đoạn thử nghiệm, bạn có thể chuẩn bị ứng dụng để 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 có hiệu lực, như mô tả trong phần Đáp ứng các yêu cầu về việc chống gây mất tập trung cho người lái xe.

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

Các chế độ kiểm soát phát được tối ưu hoá cho hoạt động lái xe của một ứng dụng hỗ trợ âm thanh khi lái xe.
Hình 1: Cung cấp các chế độ điều khiển phát được tối ưu hoá cho ứ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 lái xe

Để cho biết rằng ứng dụng của bạn có 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ợ chế độ phát trong nền

Vì các hoạt động của ứng dụng bị hạn chế về trải nghiệm người dùng của hệ thống che khuất, 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 có chứa MediaSession của ứng dụng. Nếu bạn đang sử dụng MediaSessionService, thì theo mặc định, hệ thống sẽ xử lý việc này cho bạn.

Xác định mức độ 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ể 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 các chức năng của thiết bị mà ứng dụng đang chạy. Trên những 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 tra âm thanh khi lái xe

Để kiểm thử quá trình triển khai, bạn có thể mô phỏng hoạt động 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.