15

我有 mp3 文件的文件名。如何从这个 mp3 文件中提取艺术家、专辑、专辑图片等元数据?

4

3 回答 3

19

为 API 级别 10 或更高级别尝试此操作

 MediaMetadataRetriever mmr = new MediaMetadataRetriever();
 mmr.setDataSource(filePath);

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

等等...

寻求更多帮助

于 2012-07-04T11:29:30.123 回答
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));
         }

否则在音频文件中没有嵌入图像

于 2013-12-22T11:24:03.797 回答
0
MetaDataRetriever m_metaRetriever = new MetaDataRetriever();
m_metaRetriever.setDataSource(MainActivity.this,uriSound);

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

于 2017-12-20T09:22:23.790 回答