如何从MP3文件中提取元数据?

15
我有一个MP3文件的文件名。我该如何从这个MP3文件中提取元数据,比如艺术家、专辑、专辑封面等等?
3个回答

20
尝试使用API级别10或更高版本:
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
mmr.setDataSource(filePath);

String albumName = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM));

等等...

欲了解更多帮助


一个获得了徽章的答案应该比一个“试试这个”的答案更好。例如,可以添加文档参考。根据帮助中心的说法:“...始终解释为什么你提出的解决方案是合适的,以及它是如何工作的”。请通过编辑(更改)您的答案来回复,而不是在评论中回复(不要使用“编辑:”,“更新:”或类似的词语 - 答案应该看起来像是今天写的)。 - undefined

5
         MediaMetadataRetriever mmr = new MediaMetadataRetriever();
         mmr.setDataSource(songsList.get(songIndex).get("songPath"));
         byte[] artBytes =  mmr.getEmbeddedPicture();
         if(artBytes!=null)
           {
        //     InputStream is = new ByteArrayInputStream(mmr.getEmbeddedPicture());
             Bitmap bm = BitmapFactory.decodeByteArray(artBytes, 0, artBytes.length);
             bSongImage.setImageBitmap(bm);
         }
         else
         {
             bSongImage.setImageDrawable(getResources().getDrawable(R.drawable.cmp));
         }

因音频文件中未嵌入图像而出现的其他情况


0
MetaDataRetriever m_metaRetriever = new MetaDataRetriever();
m_metaRetriever.setDataSource(MainActivity.this,uriSound);

setDataSource方法的输入参数应该包括上下文,否则会抛出非法参数异常。


这个例外(名称)实际上是以小写字母开头吗?它的实际名称是什么? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接