یک کارت Now Playing را نمایش دهید

برنامه‌های تلویزیونی که صدا را پخش می‌کنند ممکن است پس از بازگشت کاربر به صفحه اصلی یا جابجایی به برنامه دیگر به این کار ادامه دهند. برای انجام این کار، برنامه باید یک کارت Now Playing در صفحه اصلی ارائه دهد. این کارت به کاربران امکان می دهد بفهمند صدا از کجا می آید و برای کنترل پخش رسانه به برنامه شما بازگردند.

هر زمان که یک MediaSession فعال وجود داشته باشد، چارچوب Android یک کارت Now Playing را در صفحه اصلی نمایش می دهد. این کارت شامل ابرداده های رسانه ای مانند هنر آلبوم، عنوان و نماد برنامه است. هنگامی که کاربر کارت را انتخاب می کند، سیستم برنامه را باز می کند.

در حال حاضر کارت بازی

پس از اجرای یک جلسه رسانه ، جلسه را روی فعال تنظیم کنید و فوکوس صوتی را درخواست کنید، کارت Now Playing ظاهر می شود.

توجه: کارت Now Playing فقط برای یک جلسه رسانه با مجموعه پرچم FLAG_HANDLES_TRANSPORT_CONTROLS نمایش داده می شود. این پرچم در سطح 26 API منسوخ شده است. با این حال، این پرچم همچنان در دستگاه‌های قدیمی‌تر برای سازگاری با نسخه‌های قبلی مورد نیاز است.

هنگامی که یک تماس setActive(false) جلسه رسانه را غیرفعال می‌کند یا زمانی که برنامه دیگری پخش رسانه را آغاز می‌کند، کارت از صفحه راه‌انداز حذف می‌شود. اگر پخش به طور کامل متوقف شد و رسانه فعالی وجود نداشت، بلافاصله جلسه رسانه را غیرفعال کنید. اگر پخش متوقف شد، پس از تأخیر، معمولاً از 5 تا 30 دقیقه، جلسه رسانه را غیرفعال کنید.

کارت را به روز کنید

هر زمان که برنامه شما وضعیت پخش را در MediaSession به‌روزرسانی می‌کند، کارت Now Playing به‌روزرسانی می‌شود تا وضعیت رسانه فعلی را نشان دهد. برای یادگیری نحوه انجام این کار، به به روز رسانی وضعیت پخش مراجعه کنید.

به طور مشابه، برنامه شما می‌تواند MediaMetadata به‌روزرسانی کند تا اطلاعاتی را در مورد رسانه فعلی به کارت Now Playing ارائه کند، مانند عنوان، زیرنویس و نمادهای مختلف. برای یادگیری نحوه انجام این کار، به به‌روزرسانی فراداده رسانه مراجعه کنید.

به عملکرد کاربر پاسخ دهید

هنگامی که کاربر کارت Now Playing را انتخاب می کند، سیستم برنامه ای را که مالک جلسه است باز می کند. اگر برنامه شما یک PendingIntent برای setSessionActivity() ارائه دهد، سیستم فعالیتی را که شما مشخص کرده اید اجرا می کند، همانطور که در قطعه کد زیر نشان داده شده است. اگر نه، هدف سیستم پیش فرض باز می شود. فعالیتی که مشخص می‌کنید باید کنترل‌های بازپخشی را ارائه کند که به کاربران امکان توقف یا توقف پخش را بدهد.

کاتلین

val pi: PendingIntent = Intent(context, MyActivity::class.java).let { intent ->
    PendingIntent.getActivity(
            context, 99 /*request code*/,
            intent,
            PendingIntent.FLAG_UPDATE_CURRENT
    )
}
session.setSessionActivity(pi)

جاوا

Intent intent = new Intent(context, MyActivity.class);
PendingIntent pi = PendingIntent.getActivity(context, 99 /*request code*/,
        intent, PendingIntent.FLAG_UPDATE_CURRENT);
session.setSessionActivity(pi);

موارد استفاده پذیرفته شده

کارت Now Playing فقط باید در مواردی استفاده شود که کاربر انتظار دارد هنگام خروج از برنامه، صدا در پس‌زمینه همچنان پخش شود. پخش ویدیو یا صدای یک بازی همیشه باید متوقف شود، مگر اینکه برنامه شما یکپارچه و مطابق با تصویر در تصویر باشد.