Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

MediaMetadata

class MediaMetadata : CustomVersionedParcelable
androidx.media2.common.MediaMetadata

Contains metadata about an item, such as the title, artist, etc. This is optional, but you'd better to provide this as much as possible when you're using media widget and/or session APIs.

The media widget components build its UI based on the metadata here. For an example, androidx.media2.widget.MediaControlView will show title from the metadata.

The androidx.media2.session.MediaLibraryService.MediaLibrarySession would require some metadata values when it provides MediaItems to androidx.media2.session.MediaBrowser.

Topics covered here:

  1. Media ID
  2. Browsable type
  3. Playable
  4. Duration
  5. User rating

Media ID

If set, the media ID must be the persistent key for the underlying media contents, so androidx.media2.session.MediaController and androidx.media2.session.MediaBrowser can store the information and reuse it later. Some APIs requires a media ID (e.g. androidx.media2.session.MediaController#setRating, so you'd better specify one.

Typical example of using media ID is the URI of the contents, but use it with the caution because the metadata is shared across the process in plain text.

The androidx.media2.session.MediaLibraryService.MediaLibrarySession would require it for the library root, so androidx.media2.session.MediaBrowser can call subsequent androidx.media2.session.MediaBrowser#getChildren with the ID.

Browsable type

Browsable defines whether the media item has children and type of children if any. With this, androidx.media2.session.MediaBrowser can know whether the subsequent androidx.media2.session.MediaBrowser#getChildren would successfully run.

The androidx.media2.session.MediaLibraryService.MediaLibrarySession would require the explicit browsable type for the media items returned by the androidx.media2.session.MediaLibraryService.MediaLibrarySession.MediaLibrarySessionCallback.

Playable type

Playable defines whether the media item can be played or not. It may be possible for a playlist to contain a media item which isn't playable in order to show a disabled media item.

The androidx.media2.session.MediaLibraryService.MediaLibrarySession would require the explicit playable value for the media items returned by the androidx.media2.session.MediaLibraryService.MediaLibrarySession.MediaLibrarySessionCallback.

Duration

The duration is the length of the contents. The androidx.media2.session.MediaController can only get the duration through the metadata. This tells when would the playback ends, and also tells about the allowed range of androidx.media2.session.MediaController#seekTo(long).

If it's not set by developer, androidx.media2.session.MediaSession would update the duration in the metadata with the SessionPlayer#getDuration().

User rating

Prefer to have unrated user rating instead of null, so androidx.media2.session.MediaController can know the possible user rating type for calling androidx.media2.session.MediaController#setRating(String, Rating).

Summary

Nested classes

Use to build MediaMetadatax objects.

Constants
static Long

The type of browsable that contains browsable items categorized by album.

static Long

The type of browsable that contains browsable items categorized by artist.

static Long

The type of browsable that contains browsable items categorized by genre.

static Long

The type of browsable that is unknown or contains media items of mixed types.

static Long

The type of browsable for non-browsable media item.

static Long

The type of browsable that contains browsable items categorized by playlist.

static Long

The type of browsable that only contains playable media items.

static Long

The type of browsable that contains browsable items categorized by year.

static String

The metadata key for a Long typed value to retrieve the information about whether the media is an advertisement.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the album title for the media.

static String

The metadata key for a Bitmap typed value to retrieve the information about the artwork for the album of the media's original source.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the artist for the album of the media's original source.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the Uri of the artwork for the album of the media's original source.

static String

The metadata key for a Bitmap typed value to retrieve the information about the artwork for the media.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the artist of the media.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about Uri of the artwork for the media.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the author of the media.

static String

The metadata key for a Long typed value to retrieve the information about the type of browsable.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the compilation status of the media.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the composer of the media.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the date the media was created or published.

static String

The metadata key for a Long typed value to retrieve the information about the disc number for the media's original source.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the description that is suitable for display to the user.

static String

The metadata key for a Bitmap typed value to retrieve the information about the icon or thumbnail that is suitable for display to the user.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the Uri of icon or thumbnail that is suitable for display to the user.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the subtitle that is suitable for display to the user.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the title that is suitable for display to the user.

static String

The metadata key for a Long typed value to retrieve the information about the download status of the media which will be used for later offline playback.

static String

The metadata key for a Long typed value to retrieve the information about the duration of the media in ms.

static String

A Bundle extra.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the genre of the media.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the media ID of the content.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the Uri of the content.

static String

The metadata key for a Long typed value to retrieve the information about the number of tracks in the media's original source.

static String

The metadata key for a Long typed value to retrieve the information about whether the media is playable.

static String

The metadata key for a Rating typed value to retrieve the information about the overall rating for the media.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the title of the media.

static String

The metadata key for a Long typed value to retrieve the information about the track number for the media.

static String

The metadata key for a Rating typed value to retrieve the information about the user's rating for the media.

static String

The metadata key for a CharSequence or String typed value to retrieve the information about the writer of the media.

static String

The metadata key for a Long typed value to retrieve the information about the year the media was created or published.

static Long

The status value to indicate the media item is downloaded for later offline playback.

static Long

The status value to indicate the media item is being downloaded.

static Long

The status value to indicate the media item is not downloaded.

Public methods
Boolean
containsKey(@NonNull key: String)

Returns true if the given key is contained in the metadata

Bitmap?
getBitmap(@NonNull key: String)

Return a Bitmap for the given key or null if no bitmap exists for the given key.

Bundle?

Get the extra Bundle from the metadata object.

Float
getFloat(@NonNull key: String)

Return the value associated with the given key, or 0.

Long
getLong(@NonNull key: String)

Returns the value associated with the given key, or 0L if no long exists for the given key.

String?

Returns the media id, or null if the id doesn't exist.

Rating?
getRating(@NonNull key: String)

Return a Rating for the given key or null if no rating exists for the given key.

String?
getString(@NonNull key: String)

Returns the value associated with the given key, or null if no mapping of the desired type exists for the given key or a null value is explicitly associated with the key.

CharSequence?
getText(@NonNull key: String)

Returns the value associated with the given key, or null if no mapping of the desired type exists for the given key or a null value is explicitly associated with the key.

MutableSet<String!>

Returns a Set containing the Strings used as keys in this metadata.

Int

Get the number of fields in this metadata.

String

Constants

BROWSABLE_TYPE_ALBUMS

static val BROWSABLE_TYPE_ALBUMS: Long

The type of browsable that contains browsable items categorized by album.

This value matches with the folder type 'Albums' as specified in the section 6.10.2.2 of the Bluetooth AVRCP 1.5.

Value: 2

BROWSABLE_TYPE_ARTISTS

static val BROWSABLE_TYPE_ARTISTS: Long

The type of browsable that contains browsable items categorized by artist.

This value matches with the folder type 'Artists' as specified in the section 6.10.2.2 of the Bluetooth AVRCP 1.5.

Value: 3

BROWSABLE_TYPE_GENRES

static val BROWSABLE_TYPE_GENRES: Long

The type of browsable that contains browsable items categorized by genre.

This value matches with the folder type 'Genres' as specified in the section 6.10.2.2 of the Bluetooth AVRCP 1.5.

Value: 4

BROWSABLE_TYPE_MIXED

static val BROWSABLE_TYPE_MIXED: Long

The type of browsable that is unknown or contains media items of mixed types.

This value matches with the folder type 'Mixed' as specified in the section 6.10.2.2 of the Bluetooth AVRCP 1.5.

Value: 0

BROWSABLE_TYPE_NONE

static val BROWSABLE_TYPE_NONE: Long

The type of browsable for non-browsable media item.

Value: -1

BROWSABLE_TYPE_PLAYLISTS

static val BROWSABLE_TYPE_PLAYLISTS: Long

The type of browsable that contains browsable items categorized by playlist.

This value matches with the folder type 'Playlists' as specified in the section 6.10.2.2 of the Bluetooth AVRCP 1.5.

Value: 5

BROWSABLE_TYPE_TITLES

static val BROWSABLE_TYPE_TITLES: Long

The type of browsable that only contains playable media items.

This value matches with the folder type 'Titles' as specified in the section 6.10.2.2 of the Bluetooth AVRCP 1.5.

Value: 1

BROWSABLE_TYPE_YEARS

static val BROWSABLE_TYPE_YEARS: Long

The type of browsable that contains browsable items categorized by year.

This value matches with the folder type 'Years' as specified in the section 6.10.2.2 of the Bluetooth AVRCP 1.5.

Value: 6

METADATA_KEY_ADVERTISEMENT

static val METADATA_KEY_ADVERTISEMENT: String

The metadata key for a Long typed value to retrieve the information about whether the media is an advertisement. A value of 0 indicates it is not an advertisement. A value of 1 or non-zero indicates it is an advertisement. If not specified, this value is set to 0 by default.

Value: "androidx.media2.metadata.ADVERTISEMENT"

METADATA_KEY_ALBUM

static val METADATA_KEY_ALBUM: String

The metadata key for a CharSequence or String typed value to retrieve the information about the album title for the media.

Value: android.media.MediaMetadata.METADATA_KEY_ALBUM

METADATA_KEY_ALBUM_ART

static val METADATA_KEY_ALBUM_ART: String

The metadata key for a Bitmap typed value to retrieve the information about the artwork for the album of the media's original source. The artwork should be relatively small and may be scaled down if it is too large. For higher resolution artwork, METADATA_KEY_ALBUM_ART_URI should be used instead.

Value: android.media.MediaMetadata.METADATA_KEY_ALBUM_ART

METADATA_KEY_ALBUM_ARTIST

static val METADATA_KEY_ALBUM_ARTIST: String

The metadata key for a CharSequence or String typed value to retrieve the information about the artist for the album of the media's original source.

Value: android.media.MediaMetadata.METADATA_KEY_ALBUM_ARTIST

METADATA_KEY_ALBUM_ART_URI

static val METADATA_KEY_ALBUM_ART_URI: String

The metadata key for a CharSequence or String typed value to retrieve the information about the Uri of the artwork for the album of the media's original source.

Value: android.media.MediaMetadata.METADATA_KEY_ALBUM_ART_URI

METADATA_KEY_ART

static val METADATA_KEY_ART: String

The metadata key for a Bitmap typed value to retrieve the information about the artwork for the media. The artwork should be relatively small and may be scaled down if it is too large. For higher resolution artwork, METADATA_KEY_ART_URI should be used instead.

Value: android.media.MediaMetadata.METADATA_KEY_ART

METADATA_KEY_ARTIST

static val METADATA_KEY_ARTIST: String

The metadata key for a CharSequence or String typed value to retrieve the information about the artist of the media.

Value: android.media.MediaMetadata.METADATA_KEY_ARTIST

METADATA_KEY_ART_URI

static val METADATA_KEY_ART_URI: String

The metadata key for a CharSequence or String typed value to retrieve the information about Uri of the artwork for the media.

Value: android.media.MediaMetadata.METADATA_KEY_ART_URI

METADATA_KEY_AUTHOR

static val METADATA_KEY_AUTHOR: String

The metadata key for a CharSequence or String typed value to retrieve the information about the author of the media.

Value: android.media.MediaMetadata.METADATA_KEY_AUTHOR

METADATA_KEY_BROWSABLE

static val METADATA_KEY_BROWSABLE: String

The metadata key for a Long typed value to retrieve the information about the type of browsable. It should be one of the following:

The values other than BROWSABLE_TYPE_NONE mean that the media item has children.[

This matches with the bluetooth folder type of the media specified in the section 6.10.2.2 of the Bluetooth AVRCP 1.5.

Value: "androidx.media2.metadata.BROWSABLE"

METADATA_KEY_COMPILATION

static val METADATA_KEY_COMPILATION: String

The metadata key for a CharSequence or String typed value to retrieve the information about the compilation status of the