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 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. Để thực hiện việc này, ứng dụng phải cung cấp thẻ Phát hiện nhạc (Now Playing) trên màn hình chính. Thẻ này cho phép người dùng biết được nguồn gốc của âm thanh và quay lại ứng dụng của bạn để điều khiển chế độ phát nội dung nghe nhìn.

Bất cứ khi nào có một MediaSession đang hoạt động, khung Android sẽ hiển thị một thẻ Phát hiện nhạc (Now Playing) trên màn hình chính. Thẻ này 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 phát nội dung nghe nhìn, đặt phiên đó thành đang 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 phiên phát nội dung đa phương tiện có cờ FLAG_HANDLES_TRANSPORT_CONTROLS được đặt. Cờ này không còn được dùng trên API cấp 26 nữa. Tuy nhiê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ẻ này sẽ bị xoá khỏi màn hình trình chạy khi lệnh gọi setActive(false) huỷ kích hoạt phiên phát nội dung đa phương tiện hoặc khi một ứng dụng khác bắt đầu phát nội dung đa phương tiện. Nếu chế độ phát hoàn toàn dừng và không có nội dung nghe nhìn nào đang hoạt động, hãy huỷ kích hoạ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 đa phương tiện sau một khoảng thời gian trễ, thường là từ 5 đến 30 phút.

Cập nhật thẻ

Bất cứ khi nào ứng dụng cập nhật trạng thái phát trong MediaSession, thẻ Phát hiện nhạc (Now Playing) sẽ cập nhật để cho thấy 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 phần 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 cho thẻ Phát hiện nhạc về nội dung nghe nhìn hiện tại, chẳng hạn như tên, phụ đề và nhiều biểu tượng. Để tìm hiểu cách thực hiện việc này, hãy xem phần 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 này. Nếu ứng dụng của bạn cung cấp PendingIntent cho setSessionActivity(), hệ thống sẽ 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 dừ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

Bạ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 âm thanh sẽ tiếp tục phát trong nền khi rời khỏi ứng dụng. Quá trình phát video hoặc âm thanh của trò chơi phải luôn tạm dừng, trừ phi ứng dụng của bạn đã tích hợp và tuân thủ tính năng hình trong hình.