6

MP3 ファイルのアルバム アートを取得しようとしています。これを行うための最善かつ最もクリーンな方法は、MediaMetadataRetriever クラスを使用することだと思いました。しかし、何らかの理由で getEmbeddedPicture メソッドを呼び出しても機能しません。画像が表示されず、LogCat に次のエラーが表示されます。

04-29 18:36:19.520: E/MediaMetadataRetrieverJNI(25661): getEmbeddedPicture: Call to getEmbeddedPicture failed.

これは動作しないように見えるコードです:

    @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;
    }

Android 4.2 を搭載したデバイスで実行しているため、MediaMetadataRetriever (API レベル 10 が必要) に問題はありません。私がテストしたファイルは、Windows エクスプローラーで画像を表示するので、アートが埋め込まれているようです。誰でもこれについて何か考えがありますか?

4

2 に答える 2