Hiển thị thẻ Phát hiện nhạc

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.