2016-03-08 22 views
0

我想知道是否可以重用單個MediaMetadataRetriever對象來獲取來自多個文件的元數據?MediaMetadataRetriever的重用 - 有可能嗎?

如果是 - 我應該在每個文件後面調用release()方法,還是隻在所有文件被處理後設置不同的數據源並調用release()

API refererence不準確有關:/

謝謝:)

回答

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 
+0

謝謝,我已經知道了昨天,但你已經安慰我了;) – Fester