Các ứng dụng TV phát âm thanh có thể tiếp tục phát âm thanh sau khi người dùng quay lại màn hình chính hoặc chuyển sang một ứng dụng khác. Để làm như vậy, ứng dụng phải cung cấp thẻ Phát hiện nhạc trên trang chủ màn hình. Thẻ này giúp người dùng biết âm thanh đó phát ra từ đâu và quay lại ứng dụng của bạn để điều khiển việc phát nội dung nghe nhìn.
Bất cứ khi nào một hoạt động
MediaSession
là
hiện tại, khung Android sẽ hiển thị thẻ Phát hiện nhạc trên màn hình chính. Thẻ
có chứa siêu dữ liệu đa phương tiện như ảnh bìa đĩa nhạc, tiêu đề và biểu tượng ứng dụng. Khi người dùng chọn thẻ,
hệ thống sẽ mở ứng dụng đó.
Thẻ Phát hiện nhạc
Sau khi bạn triển khai một phiên nội dung nghe nhìn, hãy đặt phiên chuyển sang trạng thái hoạt động và yêu cầu quyền phát âm thanh, thẻ Phát hiện nhạc sẽ xuất hiện.
Lưu ý: Thẻ Phát hiện nhạc chỉ hiển thị cho nội dung nghe nhìn
phiên hoạt động với
FLAG_HANDLES_TRANSPORT_CONTROLS
đã đặt cờ. Cờ này không được dùng nữa trên API cấp 26. Tuy nhiên, bạn vẫn có thể cần cờ này trên các thiết bị cũ để có khả năng tương thích ngược.
Thẻ bị xoá khỏi màn hình trình chạy khi
setActive(false)
sẽ tắt phiên phát nội dung nghe nhìn hoặc khi một ứng dụng khác bắt đầu phát nội dung nghe nhìn. Nếu chế độ phát là
dừng hoàn toàn và không có nội dung nghe nhìn nào đang hoạt động, hãy tắt phiên phát nội dung nghe nhìn
ngay lập tức. Nếu chế độ phát bị tạm dừng, hãy huỷ kích hoạt phiên phát nội dung nghe nhìn sau một khoảng thời gian trễ.
thường từ 5 đến 30 phút.
Cập nhật thẻ
Bất cứ khi nào ứng dụng của bạn cập nhật trạng thái phát trong MediaSession
,
Thẻ Phát hiện nhạc sẽ cập nhật để hiển thị trạng thái của nội dung nghe nhìn hiện tại. Để tìm hiểu cách thực hiện việc này, hãy xem
Cập nhật trạng thái phát.
Tương tự, ứng dụng của bạn có thể cập nhật
MediaMetadata
để cung cấp
thông tin về nội dung nghe nhìn hiện tại trên thẻ Phát hiện nhạc, chẳng hạn như tiêu đề, phụ đề
cùng nhiều biểu tượng. Để tìm hiểu cách thực hiện việc này, hãy xem
Cập nhật siêu dữ liệu đa phương tiện.
Phản hồi hành động của người dùng
Khi người dùng chọn thẻ Phát hiện nhạc, hệ thống sẽ mở ứng dụng sở hữu
phiên hoạt động. Nếu ứng dụng của bạn cung cấp
PendingIntent
thành
setSessionActivity()
,
hệ thống sẽ khởi chạy hoạt động mà bạn chỉ định, như minh hoạ trong đoạn mã sau. Nếu không,
ý định mặc định của hệ thống sẽ mở ra. Hoạt động bạn chỉ định phải cung cấp bộ điều khiển chế độ phát
cho phép người dùng tạm dừng hoặc ngừng phát.
Kotlin
val pi: PendingIntent = Intent(context, MyActivity::class.java).let { intent -> PendingIntent.getActivity( context, 99 /*request code*/, intent, PendingIntent.FLAG_UPDATE_CURRENT ) } session.setSessionActivity(pi)
Java
Intent intent = new Intent(context, MyActivity.class); PendingIntent pi = PendingIntent.getActivity(context, 99 /*request code*/, intent, PendingIntent.FLAG_UPDATE_CURRENT); session.setSessionActivity(pi);
Các trường hợp sử dụng được chấp nhận
Chỉ nên sử dụng thẻ Phát hiện nhạc trong trường hợp người dùng muốn tiếp tục phát âm thanh phát trong nền khi rời khỏi ứng dụng. Phát lại video hoặc âm thanh từ trò chơi phải luôn luôn tạm dừng, trừ phi ứng dụng của bạn đang tích hợp và tuân thủ tính năng hình trong hình.