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
synchronized 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.
synchronized void clear()
Clears all the pending metadata changes set since the MediaMetadataEditor instance was created or since this method was last called.
synchronized Bitmap getBitmap(int key, Bitmap defaultValue)
Returns the Bitmap value for the key.
synchronized int[] getEditableKeys()
Retrieves the keys flagged as editable.
synchronized long getLong(int key, long defaultValue)
Returns the long value for the key.
synchronized Object getObject(int key, Object defaultValue)
Returns an object representation of the value for the key
synchronized String getString(int key, String defaultValue)
Returns the String value for the key.
synchronized MediaMetadataEditor putBitmap(int key, Bitmap bitmap)
Adds image.
synchronized MediaMetadataEditor putLong(int key, long value)
Adds numerical information.
synchronized MediaMetadataEditor putObject(int key, Object value)
Adds information stored as an instance.
synchronized MediaMetadataEditor putString(int key, String value)
Adds textual information.
synchronized 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.

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 synchronized 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 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 synchronized 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 synchronized Bitmap getBitmap (int key, Bitmap defaultValue)

Added in API level 19

Returns the Bitmap value for the key.

Parameters
key the BITMAP_KEY_ARTWORK key
defaultValue the value returned if the key is not present
Returns
  • the Bitmap value for the key, or the supplied default value if the key is not present

public synchronized int[] getEditableKeys ()

Added in API level 19

Retrieves the keys flagged as editable.

Returns
  • null if there are no editable keys, or an array containing the keys.

public synchronized long getLong (int key, long defaultValue)

Added in API level 19

Returns the long value for the key.

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

public synchronized Object getObject (int key, Object defaultValue)

Added in API level 19

Returns an object representation of the value for the key

Parameters
key one of the keys supported in putObject(int, Object)
defaultValue the value returned if the key is not present
Returns
  • 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

public synchronized String getString (int key, String defaultValue)

Added in API level 19

Returns the String value for the key.

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

public synchronized MediaMetadataEditor putBitmap (int key, Bitmap bitmap)

Added in API level 19

Adds image.

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

public synchronized 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 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 The long value for the given key
Returns
  • Returns a reference to the same MediaMetadataEditor object, so you can chain put calls together.

public synchronized 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 the identifier of a the metadata field to set. Valid keys for a:
value the metadata to add.
Returns
  • Returns a reference to the same MediaMetadataEditor object, so you can chain put calls together.

public synchronized 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 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 The text for the given key, or null to signify there is no valid information for the field.
Returns
  • Returns a reference to the same MediaMetadataEditor object, so you can chain put calls together.

public synchronized void removeEditableKeys ()

Added in API level 19

Causes all metadata fields to be read-only.