Ses çalan TV uygulamaları, kullanıcı ana ekrana döndükten veya başka bir uygulamaya geçtikten sonra da ses çalmaya devam edebilir. Bunun için uygulamanın ana ekranda bir Şu An Çalınanlar kartı sağlaması gerekir. Bu kart, kullanıcıların sesin nereden geldiğini anlamasına ve medya oynatmayı kontrol etmek için uygulamanıza geri dönmesine olanak tanır.
Etkin bir MediaSession olduğunda Android çerçevesi ana ekranda Ne Çalıyor? kartını gösterir. Kartta albüm kapağı, başlık ve uygulama simgesi gibi medya meta verileri yer alır. Kullanıcı kartı seçtiğinde sistem uygulamayı açar.
Ne Çalıyor? kartı
Medya oturumunu uyguladıktan sonra oturumu etkin olarak ayarlayıp ses odağı istediğinizde Ne Çalıyor? kartı görünür.
Not: Ne çalıyor? kartı yalnızca FLAG_HANDLES_TRANSPORT_CONTROLS işareti ayarlanmış bir medya oturumunda gösterilir. Bu işaret, API düzeyi 26'da kullanımdan kaldırılmıştır. Ancak bu işaret, geriye dönük uyumluluk için eski cihazlarda hâlâ gerekebilir.
Bir setActive(false)
çağrısı medya oturumunu devre dışı bıraktığında veya başka bir uygulama medya oynatmayı başlattığında kart, başlatıcı ekranından kaldırılır. Oynatma tamamen durdurulmuşsa ve etkin medya yoksa medya oturumunu hemen devre dışı bırakın. Oynatma duraklatılırsa medya oturumunu gecikmeli olarak devre dışı bırakın. Bu süre genellikle 5 ila 30 dakikadır.
Kartı güncelleme
Uygulamanız MediaSession oynatma durumunu her güncellediğinde, Ne Çalıyor? kartı da güncellenerek mevcut medyanın durumu gösterilir. Bunu nasıl yapacağınızı öğrenmek için Oynatma durumunu güncelleme başlıklı makaleyi inceleyin.
Benzer şekilde, uygulamanız MediaMetadata öğesini güncelleyerek Ne Çalıyor? kartına mevcut medya hakkında bilgi (ör. başlık, altyazı ve çeşitli simgeler) sağlayabilir. Bu işlemi nasıl yapacağınızı öğrenmek için Medya meta verilerini güncelleme başlıklı makaleyi inceleyin.
Kullanıcı işlemine yanıt verme
Kullanıcı Ne Çalıyor? kartını seçtiğinde sistem, oturumun sahibi olan uygulamayı açar. Uygulamanız PendingIntent ile setSessionActivity() arasında bir PendingIntent sağlıyorsa sistem, aşağıdaki kod snippet'inde gösterildiği gibi belirttiğiniz etkinliği başlatır. Aksi takdirde, varsayılan sistem amacı açılır. Belirttiğiniz etkinlik, kullanıcılara oynatmayı duraklatma veya durdurma olanağı veren oynatma kontrolleri sağlamalıdır.
Kotlin
val pi: PendingIntent = Intent(context, MyActivity::class.java).let { intent -> PendingIntent.getActivity( context, 99 /*request code*/, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE ) } 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);
Kabul edilen kullanım alanları
Ne Çalıyor? kartı yalnızca kullanıcının uygulamanızdan ayrıldığında sesin arka planda çalmaya devam etmesini beklediği durumlarda kullanılmalıdır. Uygulamanız pencere içinde pencere özelliğiyle entegre değilse ve bu özelliğe uygun değilse video oynatma veya oyundan gelen ses her zaman duraklatılmalıdır.