重用MediaMetadataRetriever - 有可能吗?

时间:2016-03-08 10:17:58

标签: android

我想知道是否可以重用单个MediaMetadataRetriever对象来获取多个文件中的元数据?

如果是 - 我应该在每个文件后调用release()方法,还是只设置不同的数据源,并在处理完所有文件后调用release()

API参考不准确:/

谢谢:)

1 个答案:

答案 0 :(得分:1)

是的,您可以重复使用该对象。您的代码看起来像这样:

MediaMetadataRetriever mmr = new MediaMetadataRetriever();

for (int i = 0; i < files.length; i++) {
    mmr.setDataSource(files[i]); 
    mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM);
    mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST);
    Bitmap b = mmr.getFrameAtTime(2000000, MediaMetadataRetriever.OPTION_CLOSEST); // frame at 2 seconds
    byte [] artwork = mmr.getEmbeddedPicture();
}

mmr.release(); // all done, release the object