The MediaMetadataRetriever 
<https://developer.android.com/reference/android/media/MediaMetadataRetriever>
 class "provides a unified interface for retrieving frame and meta data 
from an input media file." Its extractMetadata(int) 
<https://developer.android.com/reference/android/media/MediaMetadataRetriever#extractMetadata(int)>
 function 
allows the developer to retrieve the metadata value associated with a 
METADATA_KEY_XXX 
<https://developer.android.com/reference/android/media/MediaMetadataRetriever#constants_1>
 constant 
specified in the same class. I propose to add some new *METADATA_KEY_XXX* 
constants 
to the class and the ability to extract the value of these keys from 
metadata tags. 

The proposed constants are:
METADATA_KEY_ARTIST_MBID
METADATA_KEY_RECORDING_MBID
METADATA_KEY_ALBUM_MBID
METADATA_KEY_RELEASEGROUP_MBID

These constants represent the MusicBrainz Identifiers for the corresponding 
entities. 

There are a number of reasons why MusicBrainz Identifiers should be 
included. MusicBrainz <https://musicbrainz.org/doc/About> is a 
community-maintained open source encyclopedia of music information. A 
MusicBrainz 
Identifier <https://musicbrainz.org/doc/MusicBrainz_Identifier> (MBID) is a 
36 character Universally Unique identifier that is permanently assigned to 
an entity. MusicBrainz Identifiers provide a reliable and unique way to 
identify music. Often, Media files have incomplete metadata. But if the 
media file is tagged with an MBID, developers can use it to retrieve a 
comprehensive set of information about the media. This has potentially many 
use cases, including but not limited to, library organising apps, music 
players, music recommenders and trivia apps. Since, no two different media 
files have the same the MBID, developers can use it to find duplicate media 
files.

The iOS ecosystem already has some kind of support for MBIDs. Apple's 
iTunes has out of the box support for using MBIDs. Popular search engines 
including Google and Bing utilise MBIDs to populate knowledge graphs about 
the relevant entities. A detailed list of MusicBrainz Enabled Applications 
can be found here 
<https://musicbrainz.org/doc/MusicBrainz_Enabled_Applications>. Many other 
prominent entities <https://metabrainz.org/supporters> in the technology 
landscape support and utilise MusicBrainz services as well.

I am willing to contribute the required code changes myself. I wish to know 
the views of other developers regarding this feature request.

-- 
You received this message because you are subscribed to the Google Groups 
"Android Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-discuss+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/android-discuss/df9bc0eb-a023-43da-8a41-95d89802e7a6o%40googlegroups.com.

Reply via email to