Tôi đang cố gắng để có được album nghệ thuật của một tập tin MP3. Tôi nghĩ cách tốt nhất và sạch nhất để làm điều này là sử dụng lớp MediaMetadataRetriever. Nhưng vì lý do nào đó, phương thức getEmbeddedPicture không hoạt động. Hình ảnh không hiển thị, LogCat thấy một lỗi:Nhận tập tin nhúng nhúng mp3 không thành công
04-29 18:36:19.520: E/MediaMetadataRetrieverJNI(25661): getEmbeddedPicture: Call to getEmbeddedPicture failed.
Đây là mã mà dường như không làm việc:
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
MediaMetadataRetriever mmdr = new MediaMetadataRetriever();
mmdr.setDataSource(path); //path of the MP3 file on SD Card
bites = mmdr.getEmbeddedPicture();
if(bites != null)
artBM = BitmapFactory.decodeByteArray(bites, 0, bites.length);
return null;
}
Tôi đang chạy nó trên một thiết bị với Android 4.2, vì vậy không nên có bất kỳ vấn đề nào với MediaMetadataRetriever (yêu cầu api lvl 10). Các tệp tôi đã thử nghiệm hiển thị một hình ảnh trong trình thám hiểm Windows, vì vậy có vẻ như đã được nhúng vào nghệ thuật. Có ai có suy nghĩ nào về vấn đề này nữa ko?
Địa phương, nhưng có vẻ như nó phụ thuộc vào tệp. Trên các tệp MP3 khác, nó hiển thị ảnh bìa album. –