Göz atılabilir veya oynatılabilir öğeleri kullanarak içerik hiyerarşinizi oluşturduktan sonra, bu öğelerin arabada nasıl gösterileceğini belirlemek için içerik stilleri uygulayın. Aşağıdaki içerik stillerini kullanın:

1.şekil Liste öğelerinde başlıklar ve meta veriler, resimlere göre önceliklidir.

Şekil 2. Izgara öğelerinde resimlere başlık ve meta verilere göre öncelik verilir.
Varsayılan içerik stillerini ayarlama
Medya öğelerinizin nasıl görüntüleneceğine dair genel varsayılanlar ayarlayabilirsiniz. Bunu yapmak için hizmetinizin onGetRoot
uygulamasının döndürdüğü BrowserRoot
ekler paketine belirli sabitleri ekleyin ve uygun stili belirlemek için bu sabitleri arayın.
Bu ekstralar pakette anahtar olarak kullanılabilir:
DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_BROWSABLE
: Göz atma ağacındaki tüm göz atılabilir öğeler için sunum ipucu.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_PLAYABLE
: Göz atma ağacındaki tüm oynatılabilir öğeler için sunu ipucu.
Bu anahtarlar, öğelerin sunumunu etkilemek için aşağıdaki tam sayı sabit değerleriyle eşlenebilir:
DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_LIST_ITEM
: Liste öğeleri olarak sunulan ilgili öğeler.DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_GRID_ITEM
: Tablo öğeleri olarak sunulan ilgili öğeler.DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_CATEGORY_LIST_ITEM
: Normal liste öğelerine benzer şekilde "kategori" liste öğeleri olarak sunulan karşılık gelen öğeler. Ancak öğelerin simgelerinin etrafına kenar boşlukları uygulanır. Bu, küçük simgelerin görünümünü iyileştirir. Simgeler, renk tonu uygulanabilen vektör çizimleri olmalıdır. Bu ipucunun yalnızca göz atılabilir öğeler için sağlanması beklenir.DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_CATEGORY_GRID_ITEM
: İlgili öğeler "kategori" ızgara öğeleri olarak sunulur ve normal ızgara öğelerine benzer ancak öğelerin simgelerinin etrafına kenar boşlukları uygulanır. Bu, küçük simgelerin görünümünü iyileştirir. Simgeler, renk tonu uygulanabilen vektör çizimleri olmalıdır. Bu ipucunun yalnızca göz atılabilir öğeler için sağlanması beklenir.
Bu kod snippet'inde, göz atılabilir öğeler için varsayılan içerik stilinin ızgara, oynatılabilir öğeler için ise liste olarak nasıl ayarlanacağı gösterilmektedir:
Kotlin
import androidx.media.utils.MediaConstants
@Nullable
override fun onGetRoot(
@NonNull clientPackageName: String,
clientUid: Int,
@Nullable rootHints: Bundle
): BrowserRoot {
val extras = Bundle()
extras.putInt(
MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_BROWSABLE,
MediaConstants.DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_GRID_ITEM)
extras.putInt(
MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_PLAYABLE,
MediaConstants.DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_LIST_ITEM)
return BrowserRoot(ROOT_ID, extras)
}
Java
import androidx.media.utils.MediaConstants;
@Nullable
@Override
public BrowserRoot onGetRoot(
@NonNull String clientPackageName,
int clientUid,
@Nullable Bundle rootHints) {
Bundle extras = new Bundle();
extras.putInt(
MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_BROWSABLE,
MediaConstants.DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_GRID_ITEM);
extras.putInt(
MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_PLAYABLE,
MediaConstants.DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_LIST_ITEM);
return new BrowserRoot(ROOT_ID, extras);
}
Öğe başına içerik stilleri ayarlama
Göz atılabilir medya öğelerinin alt öğeleri ve tüm medya öğeleri için varsayılan içerik stilini geçersiz kılabilirsiniz. Göz atılabilir bir medya öğesinin alt öğeleri için varsayılanı geçersiz kılmak üzere medya öğesinin MediaDescription
bölümünde bir ekstralar paketi oluşturun ve daha önce bahsedilen ipuçlarını ekleyin:
DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_PLAYABLE
, öğenin oynatılabilir alt öğeleri için geçerlidir.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_BROWSABLE
, öğenin göz atılabilir alt öğeleri için geçerlidir.
Belirli bir medya öğesi (alt öğeleri değil) için varsayılanı geçersiz kılmak istiyorsanız medya öğesinin MediaDescription
bölümünde bir ekstralar paketi oluşturun. Ardından, DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_SINGLE_ITEM
tuşuyla bir ipucu ekleyin. Öğenin sunumunu belirtmek için daha önce açıklanan değerleri kullanın.
Bu kod snippet'inde, kendisi ve alt öğeleri için varsayılan içerik stilini geçersiz kılan, göz atılabilir bir MediaItem
öğesinin nasıl oluşturulacağı gösterilmektedir. Kendisini kategori listesi öğesi, göz atılabilir alt öğelerini liste öğeleri ve oynatılabilir alt öğelerini de ızgara öğeleri olarak biçimlendirir.
Kotlin
import androidx.media.utils.MediaConstants
private fun createBrowsableMediaItem(
mediaId: String,
folderName: String,
iconUri: Uri
): MediaBrowser.MediaItem {
val mediaDescriptionBuilder = MediaDescription.Builder()
mediaDescriptionBuilder.setMediaId(mediaId)
mediaDescriptionBuilder.setTitle(folderName)
mediaDescriptionBuilder.setIconUri(iconUri)
val extras = Bundle()
extras.putInt(
MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_SINGLE_ITEM,
MediaConstants.DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_CATEGORY_LIST_ITEM)
extras.putInt(
MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_BROWSABLE,
MediaConstants.DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_LIST_ITEM)
extras.putInt(
MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_PLAYABLE,
MediaConstants.DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_GRID_ITEM)
mediaDescriptionBuilder.setExtras(extras)
return MediaBrowser.MediaItem(
mediaDescriptionBuilder.build(), MediaBrowser.MediaItem.FLAG_BROWSABLE)
}
Java
import androidx.media.utils.MediaConstants;
private MediaBrowser.MediaItem createBrowsableMediaItem(
String mediaId,
String folderName,
Uri iconUri) {
MediaDescription.Builder mediaDescriptionBuilder = new MediaDescription.Builder();
mediaDescriptionBuilder.setMediaId(mediaId);
mediaDescriptionBuilder.setTitle(folderName);
mediaDescriptionBuilder.setIconUri(iconUri);
Bundle extras = new Bundle();
extras.putInt(
MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_SINGLE_ITEM,
MediaConstants.DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_CATEGORY_LIST_ITEM);
extras.putInt(
MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_BROWSABLE,
MediaConstants.DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_LIST_ITEM);
extras.putInt(
MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_PLAYABLE,
MediaConstants.DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_GRID_ITEM);
mediaDescriptionBuilder.setExtras(extras);
return new MediaBrowser.MediaItem(
mediaDescriptionBuilder.build(), MediaBrowser.MediaItem.FLAG_BROWSABLE);
}
Başlık ipuçlarını kullanarak öğeleri gruplandırma
İlgili medya öğelerini gruplandırmak için öğe başına ipucu kullanın. Bir gruptaki her medya öğesi, MediaDescription
içinde bir ekler paketi bildirmelidir. Bu pakette, DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_GROUP_TITLE
anahtarıyla eşleme ve aynı dize değeri bulunmalıdır. Bu dize, grubun başlığı için kullanıldığından yerelleştirilmelidir.
Bu kod snippet'inde, Songs
alt grup başlığına sahip bir MediaItem
öğesinin nasıl oluşturulacağı gösterilmektedir:
Kotlin
import androidx.media.utils.MediaConstants
private fun createMediaItem(
mediaId: String,
folderName: String,
iconUri: Uri
): MediaBrowser.MediaItem {
val mediaDescriptionBuilder = MediaDescription.Builder()
mediaDescriptionBuilder.setMediaId(mediaId)
mediaDescriptionBuilder.setTitle(folderName)
mediaDescriptionBuilder.setIconUri(iconUri)
val extras = Bundle()
extras.putString(
MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_GROUP_TITLE,
"Songs")
mediaDescriptionBuilder.setExtras(extras)
return MediaBrowser.MediaItem(
mediaDescriptionBuilder.build(), /* playable or browsable flag*/)
}
Java
import androidx.media.utils.MediaConstants;
private MediaBrowser.MediaItem createMediaItem(String mediaId, String folderName, Uri iconUri) {
MediaDescription.Builder mediaDescriptionBuilder = new MediaDescription.Builder();
mediaDescriptionBuilder.setMediaId(mediaId);
mediaDescriptionBuilder.setTitle(folderName);
mediaDescriptionBuilder.setIconUri(iconUri);
Bundle extras = new Bundle();
extras.putString(
MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_GROUP_TITLE,
"Songs");
mediaDescriptionBuilder.setExtras(extras);
return new MediaBrowser.MediaItem(
mediaDescriptionBuilder.build(), /* playable or browsable flag*/);
}
Uygulamanız, birlikte gruplandırmak istediğiniz tüm medya öğelerini bitişik bir blok olarak geçirmelidir. Örneğin, medya öğelerini "Şarkılar" ve "Albümler" olmak üzere iki grupta ve bu sırayla göstermeyi düşünün. Uygulamanız bu sırayla beş medya öğesi iletirse Android Auto ve AAOS bunları dört ayrı grup olarak yorumlar:
extras.putString(MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_GROUP_TITLE, "Songs")
içeren A medya öğesiextras.putString(MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_GROUP_TITLE, "Albums")
içeren B medya öğesiextras.putString(MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_GROUP_TITLE, "Songs")
içeren C medya öğesiextras.putString(MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_GROUP_TITLE, "Songs")
ile medya öğesi Dextras.putString(MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_GROUP_TITLE, "Albums")
içeren E medya öğesi
Bu durum, şu dört grupla sonuçlanır:
- "Şarkılar" adlı 1. grup, A medya öğesini içeriyor
- Medya öğesi B'yi içeren "Albümler" adlı 2. grup
- C ve D medya öğelerini içeren "Şarkılar" adlı 3. grup
- "Albümler" adlı ve E medya öğesini içeren 4. grup
Bu öğeleri iki grupta göstermek için uygulamanız medya öğelerini şu sırayla iletmelidir:
extras.putString(MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_GROUP_TITLE, "Songs")
içeren A medya öğesiextras.putString(MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_GROUP_TITLE, "Songs")
içeren C medya öğesiextras.putString(MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_GROUP_TITLE, "Songs")
ile medya öğesi Dextras.putString(MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_GROUP_TITLE, "Albums")
içeren B medya öğesiextras.putString(MediaConstants.DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_GROUP_TITLE, "Albums")
içeren E medya öğesi
Ek meta veri göstergelerini görüntüleme
Medya tarayıcı ağacındaki ve oynatma sırasındaki içeriklerle ilgili bilgileri bir bakışta görmek için ek meta veri göstergeleri ekleyebilirsiniz.
Göz atma ağacında Android Auto ve AAOS, bir öğeyle ilişkili ekstraları okur ve göstergeleri görüntüler. Medya oynatma sırasında Android Auto ve AAOS, medya oturumunun meta verilerini okur ve hangi göstergelerin görüntüleneceğini belirlemek için belirli sabitleri arar.

3.Şekil Meta verilerle oynatma görünümü.

Şekil 4. Oynatılmamış içerikler için göz atma görünümü.
Bu sabitler hem MediaItem
açıklama ekstralarında hem de MediaMetadata
ekstralarında kullanılabilir:
EXTRA_DOWNLOAD_STATUS
: Öğenin indirme durumunu gösterir. Anahtar olarak bu sabiti kullanın. Bu uzun sabitler olası değerlerdir:STATUS_DOWNLOADED
: Öğe tamamen indirilmiştir.STATUS_DOWNLOADING
: Öğe indiriliyordur.STATUS_NOT_DOWNLOADED
: Öğe indirilmemiştir.
METADATA_KEY_IS_EXPLICIT
: Öğenin uygunsuz içerik barındırdığını gösterir. Bir öğenin uygunsuz olduğunu belirtmek için anahtar olarak bu sabiti, değer olarak ise uzunMETADATA_VALUE_ATTRIBUTE_PRESENT
değerini kullanın.
Bu sabitler yalnızca MediaItem
açıklama metni ek açıklamalarında kullanılabilir:
DESCRIPTION_EXTRAS_KEY_COMPLETION_STATUS
: Podcast bölümleri ve sesli kitaplar gibi uzun içeriklerin tamamlanma durumunu gösterir. Anahtar olarak bu sabiti kullanın. Bu tam sayı sabitleri olası değerlerdir:DESCRIPTION_EXTRAS_VALUE_COMPLETION_STATUS_NOT_PLAYED
: Öğe oynatılmamıştır.DESCRIPTION_EXTRAS_VALUE_COMPLETION_STATUS_PARTIALLY_PLAYED
: Öğe kısmen oynatılmış ve mevcut konum ortada bir yerdedir.DESCRIPTION_EXTRAS_VALUE_COMPLETION_STATUS_FULLY_PLAYED
: Öğe tamamlanmıştır.
DESCRIPTION_EXTRAS_KEY_COMPLETION_PERCENTAGE
: Uzun biçimli içerikteki tamamlanma ilerleme durumunu 0,0 ile 1,0 arasında (bu değerler dahil) bir çift olarak gösterir. Bu,PARTIALLY_PLAYING
durumu hakkında daha fazla bilgi sağlar. Böylece Android Auto veya AAOS, ilerleme çubuğu gibi daha anlamlı bir ilerleme göstergesi görüntüleyebilir. Bu ek özelliği kullanıyorsanız ilk gösterimden sonra bu göstergeyi nasıl güncel tutacağınızı öğrenmek için İçerik oynatılırken göz atma görünümündeki ilerleme çubuğunu güncelleme başlıklı makaleyi inceleyin.
Kullanıcı medya göz atma ağacına göz atarken görünen göstergeleri görüntülemek için bu sabitlerden birini veya daha fazlasını içeren bir ekstralar paketi oluşturun.
Ardından bu paketi MediaDescription.Builder.setExtras
yöntemine iletin.
Bu snippet'te, %70'i tamamlanmış bir uygunsuz içerik öğesi için göstergelerin nasıl görüntüleneceği gösterilmektedir:
Kotlin
import androidx.media.utils.MediaConstants
val extras = Bundle()
extras.putLong(
MediaConstants.METADATA_KEY_IS_EXPLICIT,
MediaConstants.METADATA_VALUE_ATTRIBUTE_PRESENT)
extras.putInt(
MediaConstants.DESCRIPTION_EXTRAS_KEY_COMPLETION_STATUS,
MediaConstants.DESCRIPTION_EXTRAS_VALUE_COMPLETION_STATUS_PARTIALLY_PLAYED)
extras.putDouble(
MediaConstants.DESCRIPTION_EXTRAS_KEY_COMPLETION_PERCENTAGE, 0.7)
val description =
MediaDescriptionCompat.Builder()
.setMediaId(/*...*/)
.setTitle(resources.getString(/*...*/))
.setExtras(extras)
.build()
return MediaBrowserCompat.MediaItem(description, /* flags */)
Java
import androidx.media.utils.MediaConstants;
Bundle extras = new Bundle();
extras.putLong(
MediaConstants.METADATA_KEY_IS_EXPLICIT,
MediaConstants.METADATA_VALUE_ATTRIBUTE_PRESENT);
extras.putInt(
MediaConstants.DESCRIPTION_EXTRAS_KEY_COMPLETION_STATUS,
MediaConstants.DESCRIPTION_EXTRAS_VALUE_COMPLETION_STATUS_PARTIALLY_PLAYED);
extras.putDouble(
MediaConstants.DESCRIPTION_EXTRAS_KEY_COMPLETION_PERCENTAGE, 0.7);
MediaDescriptionCompat description =
new MediaDescriptionCompat.Builder()
.setMediaId(/*...*/)
.setTitle(resources.getString(/*...*/))
.setExtras(extras)
.build();
return new MediaBrowserCompat.MediaItem(description, /* flags */);
Şu anda oynatılan bir medya öğesi için göstergeleri görüntülemek üzere mediaSession
öğenizin MediaMetadataCompat
bölümünde METADATA_KEY_IS_EXPLICIT
veya EXTRA_DOWNLOAD_STATUS
için değerler bildirin.
Bu kod snippet'inde, oynatma görünümündeki şarkının uygunsuz içerikli ve indirilmiş olduğunu belirtme şekli gösterilmektedir:
Kotlin
import androidx.media.utils.MediaConstants
mediaSession.setMetadata(
MediaMetadataCompat.Builder()
.putString(
MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, "Song Name")
.putString(
MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, "Artist name")
.putString(
MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI,
albumArtUri.toString())
.putLong(
MediaConstants.METADATA_KEY_IS_EXPLICIT,
MediaConstants.METADATA_VALUE_ATTRIBUTE_PRESENT)
.putLong(
MediaDescriptionCompat.EXTRA_DOWNLOAD_STATUS,
MediaDescriptionCompat.STATUS_DOWNLOADED)
.build())
Java
import androidx.media.utils.MediaConstants;
mediaSession.setMetadata(
new MediaMetadataCompat.Builder()
.putString(
MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, "Song Name")
.putString(
MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, "Artist name")
.putString(
MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI,
albumArtUri.toString())
.putLong(
MediaConstants.METADATA_KEY_IS_EXPLICIT,
MediaConstants.METADATA_VALUE_ATTRIBUTE_PRESENT)
.putLong(
MediaDescriptionCompat.EXTRA_DOWNLOAD_STATUS,
MediaDescriptionCompat.STATUS_DOWNLOADED)
.build());
İçerik oynatılırken göz atma görünümündeki ilerleme çubuğunu güncelleme
Daha önce de belirtildiği gibi, göz atma görünümünde kısmen oynatılan içeriklerin ilerleme çubuğunu göstermek için DESCRIPTION_EXTRAS_KEY_COMPLETION_PERCENTAGE
ekstrasını kullanabilirsiniz. Ancak kullanıcı, kısmen oynatılan içeriği oynatmaya devam ederse bu gösterge zamanla yanlış hale gelir.
Android Auto ve AAOS'in ilerleme çubuğunu güncel tutması için MediaMetadataCompat
ve PlaybackStateCompat
içinde ek bilgiler sağlayarak devam eden içerikleri göz atma görünümündeki medya öğelerine bağlayın.
Bir medya öğesinin otomatik olarak güncellenen ilerleme çubuğuna sahip olması için şu şartların karşılanması gerekir:
Oluşturulduğunda
MediaItem
, ekstralarındaDESCRIPTION_EXTRAS_KEY_COMPLETION_PERCENTAGE
değerini0.0
ile1.0
arasında (bu değerler dahil) göndermelidir.MediaMetadataCompat
,MediaItem
'ya iletilen medya kimliğine eşit bir dize değeriyleMETADATA_KEY_MEDIA_ID
göndermelidir.PlaybackStateCompat
,MediaItem
'ya iletilen medya kimliği ile eşit bir dize değerine eşlenenPLAYBACK_STATE_EXTRAS_KEY_MEDIA_ID
anahtarına sahip bir ek içermelidir.
Bu kod snippet'inde, oynatılan öğenin göz atma görünümündeki bir öğeye nasıl bağlandığı gösterilmektedir:
Kotlin
import androidx.media.utils.MediaConstants
// When the MediaItem is constructed to show in the browse view.
// Suppose the item was 25% complete when the user launched the browse view.
val mediaItemExtras = Bundle()
mediaItemExtras.putDouble(
MediaConstants.DESCRIPTION_EXTRAS_KEY_COMPLETION_PERCENTAGE, 0.25)
val description =
MediaDescriptionCompat.Builder()
.setMediaId("my-media-id")
.setExtras(mediaItemExtras)
// ...and any other setters.
.build()
return MediaBrowserCompat.MediaItem(description, /* flags */)
// Elsewhere, when the user has selected MediaItem for playback.
mediaSession.setMetadata(
MediaMetadataCompat.Builder()
.putString(MediaMetadata.METADATA_KEY_MEDIA_ID, "my-media-id")
// ...and any other setters.
.build())
val playbackStateExtras = Bundle()
playbackStateExtras.putString(
MediaConstants.PLAYBACK_STATE_EXTRAS_KEY_MEDIA_ID, "my-media-id")
mediaSession.setPlaybackState(
PlaybackStateCompat.Builder()
.setExtras(playbackStateExtras)
// ...and any other setters.
.build())
Java
import androidx.media.utils.MediaConstants;
// When the MediaItem is constructed to show in the browse view.
// Suppose the item was 25% complete when the user launched the browse view.
Bundle mediaItemExtras = new Bundle();
mediaItemExtras.putDouble(
MediaConstants.DESCRIPTION_EXTRAS_KEY_COMPLETION_PERCENTAGE, 0.25);
MediaDescriptionCompat description =
new MediaDescriptionCompat.Builder()
.setMediaId("my-media-id")
.setExtras(mediaItemExtras)
// ...and any other setters.
.build();
return new MediaBrowserCompat.MediaItem(description, /* flags */);
// Elsewhere, when the user has selected MediaItem for playback.
mediaSession.setMetadata(
new MediaMetadataCompat.Builder()
.putString(MediaMetadata.METADATA_KEY_MEDIA_ID, "my-media-id")
// ...and any other setters.
.build());
Bundle playbackStateExtras = new Bundle();
playbackStateExtras.putString(
MediaConstants.PLAYBACK_STATE_EXTRAS_KEY_MEDIA_ID, "my-media-id");
mediaSession.setPlaybackState(
new PlaybackStateCompat.Builder()
.setExtras(playbackStateExtras)
// ...and any other setters.
.build());
P
Oynatılmamış veya tamamen oynatılmış içeriklerde bile otomatik olarak güncellenen bir ilerleme çubuğu gösterilebilir. Bu durum, ilgili medya öğeleri DESCRIPTION_EXTRAS_KEY_COMPLETION_PERCENTAGE
ekini 0.0
(oynatılmamış) veya 1.0
(tamamen oynatılmış) değeriyle içeriyorsa ortaya çıkar. Kullanıcı bu medya öğelerini seçtikten sonra Android Auto ve AAOS, ilerleme çubuğunu diğer ilerleme göstergelerinin üzerinde gösterir.