MediaMetadata.Builder


public static final class MediaMetadata.Builder
extends Object

java.lang.Object
   ↳ android.media.MediaMetadata.Builder


Use to build MediaMetadata objects. The system defined metadata keys must use the appropriate data type.

Summary

Public constructors

Builder()

Create an empty Builder.

Builder(MediaMetadata source)

Create a Builder using a MediaMetadata instance to set the initial values.

Public methods

MediaMetadata build()

Creates a MediaMetadata instance with the specified fields.

MediaMetadata.Builder putBitmap(String key, Bitmap value)

Put a Bitmap into the metadata.

MediaMetadata.Builder putLong(String key, long value)

Put a long value into the metadata.

MediaMetadata.Builder putRating(String key, Rating value)

Put a Rating into the metadata.

MediaMetadata.Builder putString(String key, String value)

Put a String value into the metadata.

MediaMetadata.Builder putText(String key, CharSequence value)

Put a CharSequence value into the metadata.

MediaMetadata.Builder setBitmapDimensionLimit(int bitmapDimensionLimit)

Sets the maximum width/height (in pixels) for the bitmaps in the metadata.

Inherited methods

Public constructors

Builder

Added in API level 21
public Builder ()

Create an empty Builder. Any field that should be included in the MediaMetadata must be added.

Builder

Added in API level 21
public Builder (MediaMetadata source)

Create a Builder using a MediaMetadata instance to set the initial values. All fields in the source metadata will be included in the new metadata. Fields can be overwritten by adding the same key.

Public methods

build

Added in API level 21
public MediaMetadata build ()

Creates a MediaMetadata instance with the specified fields.

Returns
MediaMetadata The new MediaMetadata instance

putBitmap

Added in API level 21
public MediaMetadata.Builder putBitmap (String key, 
                Bitmap value)

Put a Bitmap into the metadata. Custom keys may be used, but if the METADATA_KEYs defined in this class are used they may only be one of the following:

Large bitmaps may be scaled down by the system with Builder#setBitmapDimensionLimit(int) when MediaSession#setMetadata is called. To pass full resolution images Uris should be used with putString(String, String).

Parameters
key String: The key for referencing this value Value is MediaMetadata.METADATA_KEY_ART, MediaMetadata.METADATA_KEY_ALBUM_ART, or MediaMetadata.METADATA_KEY_DISPLAY_ICON

value Bitmap: The Bitmap to store

Returns
MediaMetadata.Builder The Builder to allow chaining

putLong

Added in API level 21
public MediaMetadata.Builder putLong (String key, 
                long value)

Put a long value into the metadata. Custom keys may be used, but if the METADATA_KEYs defined in this class are used they may only be one of the following:

Parameters
key String: The key for referencing this value Value is MediaMetadata.METADATA_KEY_DURATION, MediaMetadata.METADATA_KEY_YEAR, MediaMetadata.METADATA_KEY_TRACK_NUMBER, MediaMetadata.METADATA_KEY_NUM_TRACKS, MediaMetadata.METADATA_KEY_DISC_NUMBER, or MediaMetadata.METADATA_KEY_BT_FOLDER_TYPE

value long: The long value to store

Returns
MediaMetadata.Builder The Builder to allow chaining

putRating

Added in API level 21
public MediaMetadata.Builder putRating (String key, 
                Rating value)

Put a Rating into the metadata. Custom keys may be used, but if the METADATA_KEYs defined in this class are used they may only be one of the following:

Parameters
key String: The key for referencing this value Value is MediaMetadata.METADATA_KEY_USER_RATING, or MediaMetadata.METADATA_KEY_RATING

value Rating: The Rating value to store

Returns
MediaMetadata.Builder The Builder to allow chaining

putString

Added in API level 21
public MediaMetadata.Builder putString (String key, 
                String value)

Put a String value into the metadata. Custom keys may be used, but if the METADATA_KEYs defined in this class are used they may only be one of the following:

Uris for artwork should use the content:// style and support ContentResolver#EXTRA_SIZE for retrieving scaled artwork through ContentResolver#openTypedAssetFileDescriptor(Uri, String, Bundle).

Parameters
key String: The key for referencing this value Value is MediaMetadata.METADATA_KEY_TITLE, MediaMetadata.METADATA_KEY_ARTIST, MediaMetadata.METADATA_KEY_ALBUM, MediaMetadata.METADATA_KEY_AUTHOR, MediaMetadata.METADATA_KEY_WRITER, MediaMetadata.METADATA_KEY_COMPOSER, MediaMetadata.METADATA_KEY_COMPILATION, MediaMetadata.METADATA_KEY_DATE, MediaMetadata.METADATA_KEY_GENRE, MediaMetadata.METADATA_KEY_ALBUM_ARTIST, MediaMetadata.METADATA_KEY_ART_URI, MediaMetadata.METADATA_KEY_ALBUM_ART_URI, MediaMetadata.METADATA_KEY_DISPLAY_TITLE, MediaMetadata.METADATA_KEY_DISPLAY_SUBTITLE, MediaMetadata.METADATA_KEY_DISPLAY_DESCRIPTION, MediaMetadata.METADATA_KEY_DISPLAY_ICON_URI, MediaMetadata.METADATA_KEY_MEDIA_ID, or MediaMetadata.METADATA_KEY_MEDIA_URI

value String: The String value to store

Returns
MediaMetadata.Builder The Builder to allow chaining

putText

Added in API level 21
public MediaMetadata.Builder putText (String key, 
                CharSequence value)

Put a CharSequence value into the metadata. Custom keys may be used, but if the METADATA_KEYs defined in this class are used they may only be one of the following:

Parameters
key String: The key for referencing this value Value is MediaMetadata.METADATA_KEY_TITLE, MediaMetadata.METADATA_KEY_ARTIST, MediaMetadata.METADATA_KEY_ALBUM, MediaMetadata.METADATA_KEY_AUTHOR, MediaMetadata.METADATA_KEY_WRITER, MediaMetadata.METADATA_KEY_COMPOSER, MediaMetadata.METADATA_KEY_COMPILATION, MediaMetadata.METADATA_KEY_DATE, MediaMetadata.METADATA_KEY_GENRE, MediaMetadata.METADATA_KEY_ALBUM_ARTIST, MediaMetadata.METADATA_KEY_ART_URI, MediaMetadata.METADATA_KEY_ALBUM_ART_URI, MediaMetadata.METADATA_KEY_DISPLAY_TITLE, MediaMetadata.METADATA_KEY_DISPLAY_SUBTITLE, MediaMetadata.METADATA_KEY_DISPLAY_DESCRIPTION, MediaMetadata.METADATA_KEY_DISPLAY_ICON_URI, MediaMetadata.METADATA_KEY_MEDIA_ID, or MediaMetadata.METADATA_KEY_MEDIA_URI

value CharSequence: The CharSequence value to store

Returns
MediaMetadata.Builder The Builder to allow chaining

setBitmapDimensionLimit

Added in API level 31
public MediaMetadata.Builder setBitmapDimensionLimit (int bitmapDimensionLimit)

Sets the maximum width/height (in pixels) for the bitmaps in the metadata. Bitmaps will be replaced with scaled down copies if their width (or height) is larger than bitmapDimensionLimit.

In order to unset the limit, pass Integer#MAX_VALUE as bitmapDimensionLimit.

Parameters
bitmapDimensionLimit int: The maximum width/height (in pixels) for bitmaps contained in the metadata. Non-positive values are ignored. Pass Integer#MAX_VALUE to unset the limit. Value is 1 or greater

Returns
MediaMetadata.Builder This value cannot be null.