Android APIs
Added in API level 19
Deprecated since API level 21
public abstract class

MediaMetadataEditor

extends Object
java.lang.Object
   ↳ android.media.MediaMetadataEditor
Known Direct Subclasses

This class was deprecated in API level 21.
Use MediaMetadata instead together with MediaSession.

Class Overview

An abstract class for editing and storing metadata that can be published by RemoteControlClient. See the editMetadata(boolean) method to instantiate a RemoteControlClient.MetadataEditor object.

Summary

Constants
int BITMAP_KEY_ARTWORK The metadata key for the content artwork / album art.
int RATING_KEY_BY_OTHERS The metadata key for the content's average rating, not the user's rating.
int RATING_KEY_BY_USER The metadata key for the content's user rating.
Public Methods
void addEditableKey(int key)
Flags the given key as being editable.
abstract void apply()
Applies all of the metadata changes that have been set since the MediaMetadataEditor instance was created or since clear() was called.
void clear()
Clears all the pending metadata changes set since the MediaMetadataEditor instance was created or since this method was last called.
Bitmap getBitmap(int key, Bitmap defaultValue)
Returns the Bitmap value for the key.
int[] getEditableKeys()
Retrieves the keys flagged as editable.
long getLong(int key, long defaultValue)
Returns the long value for the key.
Object getObject(int key, Object defaultValue)
Returns an object representation of the value for the key
String getString(int key, String defaultValue)
Returns the String value for the key.
MediaMetadataEditor putBitmap(int key, Bitmap bitmap)
Adds image.
MediaMetadataEditor putLong(int key, long value)
Adds numerical information.
MediaMetadataEditor putObject(int key, Object value)
Adds information stored as an instance.
MediaMetadataEditor putString(int key, String value)
Adds textual information.
void removeEditableKeys()
Causes all metadata fields to be read-only.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int BITMAP_KEY_ARTWORK

Added in API level 19

The metadata key for the content artwork / album art.

Constant Value: 100 (0x00000064)

public static final int RATING_KEY_BY_OTHERS

Added in API level 19

The metadata key for the content's average rating, not the user's rating. The value associated with this key is a Rating instance.

See also:

Constant Value: 101 (0x00000065)

public static final int RATING_KEY_BY_USER

Added in API level 19

The metadata key for the content's user rating. The value associated with this key is a Rating instance. This key can be flagged as "editable" (with addEditableKey(int)) to enable receiving user rating values through the RemoteControlClient.OnMetadataUpdateListener interface.

Constant Value: 268435457 (0x10000001)

Public Methods

public void addEditableKey (int key)

Added in API level 19

Flags the given key as being editable. This should only be used by metadata publishers, such as RemoteControlClient, which will declare the metadata field as eligible to be updated, with new values received through the RemoteControlClient.OnMetadataUpdateListener interface.

Parameters
key int: the type of metadata that can be edited. The supported key is RATING_KEY_BY_USER.

public abstract void apply ()

Added in API level 19

Applies all of the metadata changes that have been set since the MediaMetadataEditor instance was created or since clear() was called.

public void clear ()

Added in API level 19

Clears all the pending metadata changes set since the MediaMetadataEditor instance was created or since this method was last called. Note that clearing the metadata doesn't reset the editable keys (use removeEditableKeys() instead).

public Bitmap getBitmap (int key, Bitmap defaultValue)

Added in API level 19

Returns the Bitmap value for the key.

Parameters
key int: the BITMAP_KEY_ARTWORK key
defaultValue Bitmap: the value returned if the key is not present
Returns
Bitmap the Bitmap value for the key, or the supplied default value if the key is not present
Throws
IllegalArgumentException

public int[] getEditableKeys ()

Added in API level 19

Retrieves the keys flagged as editable.

Returns
int[] null if there are no editable keys, or an array containing the keys.

public long getLong (int key, long defaultValue)

Added in API level 19

Returns the long value for the key.

Parameters
key int: one of the keys supported in putLong(int, long)
defaultValue long: the value returned if the key is not present
Returns
long the long value for the key, or the supplied default value if the key is not present
Throws
IllegalArgumentException

public Object getObject (int key, Object defaultValue)

Added in API level 19

Returns an object representation of the value for the key

Parameters
key int: one of the keys supported in putObject(int, Object)
defaultValue Object: the value returned if the key is not present
Returns
Object the object for the key, as a Long, Bitmap, String, or Rating depending on the key value, or the supplied default value if the key is not present
Throws
IllegalArgumentException

public String getString (int key, String defaultValue)

Added in API level 19

Returns the String value for the key.

Parameters
key int: one of the keys supported in putString(int, String)
defaultValue String: the value returned if the key is not present
Returns
String the String value for the key, or the supplied default value if the key is not present
Throws
IllegalArgumentException

public MediaMetadataEditor putBitmap (int key, Bitmap bitmap)

Added in API level 19

Adds image.

Parameters
key int: the identifier of the bitmap to set. The only valid value is BITMAP_KEY_ARTWORK
bitmap Bitmap: The bitmap for the artwork, or null if there isn't any.
Returns
MediaMetadataEditor Returns a reference to the same MediaMetadataEditor object, so you can chain put calls together.
Throws
IllegalArgumentException
IllegalArgumentException

See also:

public MediaMetadataEditor putLong (int key, long value)

Added in API level 19

Adds numerical information. Note that none of the information added after apply() has been called will be available to consumers of metadata stored by the MediaMetadataEditor.

Parameters
key int: the identifier of a the metadata field to set. Valid values are METADATA_KEY_CD_TRACK_NUMBER, METADATA_KEY_DISC_NUMBER, METADATA_KEY_DURATION (with a value expressed in milliseconds), METADATA_KEY_YEAR.
value long: The long value for the given key
Returns
MediaMetadataEditor Returns a reference to the same MediaMetadataEditor object, so you can chain put calls together.
Throws
IllegalArgumentException

public MediaMetadataEditor putObject (int key, Object value)

Added in API level 19

Adds information stored as an instance. Note that none of the information added after apply() has been called will be available to consumers of metadata stored by the MediaMetadataEditor.

Parameters
key int: the identifier of a the metadata field to set. Valid keys for a:
value Object: the metadata to add.
Returns
MediaMetadataEditor Returns a reference to the same MediaMetadataEditor object, so you can chain put calls together.
Throws
IllegalArgumentException

public MediaMetadataEditor putString (int key, String value)

Added in API level 19

Adds textual information. Note that none of the information added after apply() has been called, will be available to consumers of metadata stored by the MediaMetadataEditor.

Parameters
key int: The identifier of a the metadata field to set. Valid values are METADATA_KEY_ALBUM, METADATA_KEY_ALBUMARTIST, METADATA_KEY_TITLE, METADATA_KEY_ARTIST, METADATA_KEY_AUTHOR, METADATA_KEY_COMPILATION, METADATA_KEY_COMPOSER, METADATA_KEY_DATE, METADATA_KEY_GENRE, METADATA_KEY_WRITER.
value String: The text for the given key, or null to signify there is no valid information for the field.
Returns
MediaMetadataEditor Returns a reference to the same MediaMetadataEditor object, so you can chain put calls together.
Throws
IllegalArgumentException

public void removeEditableKeys ()

Added in API level 19

Causes all metadata fields to be read-only.