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
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.

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.