Android MediaMetadataRetriever 提取类型错误格式
Android MediaMetadataRetriever extracting genre bad format
我在从 mp3 文件中提取 GENRE 元数据时遇到 MediaMetadataRetriever 问题。
MediaMetadataRetriever metadata = new MediaMetadataRetriever();
String path = file.getPath();
metadata.setDataSource(path);
String album = metadata.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM);
Log.v("METADATA->", "Album: " + album);
String artist = metadata.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST);
Log.v("METADATA->", "Artist: " + artist);
String genre = metadata.extractMetadata(MediaMetadataRetriever.METADATA_KEY_GENRE);
Log.v("METADATA->", "Genre: " + genre);
一切正常,但 GENRE 不是...
在 GENRE 为 'Rap' 的 mp3 文件中,我从日志中得到:
V/METADATA->: Genre: (15)
在 GENRE 为 'Hip-Hop' 的 mp3 文件中,我从日志中得到:
V/METADATA->: Genre: (7)
已解决!
没关系,在 Google 中搜索了一段时间,我去了这个网站,意识到为什么我的流派是一个“数字”。流派元数据存储在一个唯一的字节中,我找到了一个按字节值排序的 os 流派列表:
ID3v1 genre list.
我在从 mp3 文件中提取 GENRE 元数据时遇到 MediaMetadataRetriever 问题。
MediaMetadataRetriever metadata = new MediaMetadataRetriever();
String path = file.getPath();
metadata.setDataSource(path);
String album = metadata.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM);
Log.v("METADATA->", "Album: " + album);
String artist = metadata.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST);
Log.v("METADATA->", "Artist: " + artist);
String genre = metadata.extractMetadata(MediaMetadataRetriever.METADATA_KEY_GENRE);
Log.v("METADATA->", "Genre: " + genre);
一切正常,但 GENRE 不是...
在 GENRE 为 'Rap' 的 mp3 文件中,我从日志中得到:
V/METADATA->: Genre: (15)
在 GENRE 为 'Hip-Hop' 的 mp3 文件中,我从日志中得到:
V/METADATA->: Genre: (7)
已解决!
没关系,在 Google 中搜索了一段时间,我去了这个网站,意识到为什么我的流派是一个“数字”。流派元数据存储在一个唯一的字节中,我找到了一个按字节值排序的 os 流派列表: ID3v1 genre list.