0

私は音楽アプリを作っています。これまでにすべてがうまくいっています。私は演奏曲とともにアルバムアートを表示したい。しかし、私はそれを行う方法を理解することができません。音楽プレーヤー(Android)にアルバムアートを表示するにはどうすればよいですか?

+0

あなたは[ユニバーサルイメージ・ローダー](https://github.com/nostra13/Android-Universal-Image-Loader)または[グライドのような画像の読み込みライブラリを使用することができます](https://github.com/bumptech/glide)。アルバムアートのURIを渡してImageViewにロードします。あなたのアルバムアートを簡単にロードするはずです。 – KudzieChase

答えて

0

あなたはあなたがPicassoを使用することができます次の関数(API> 10)

Bitmap getEmbeddedPicture(String songPath){ 
    android.media.MediaMetadataRetriever mmr = new MediaMetadataRetriever(); 
     mmr.setDataSource(songsList.get(songIndex).get("songPath")); 

     byte [] data = mmr.getEmbeddedPicture(); 
       //coverart is an Imageview object 

     // convert the byte array to a bitmap 
     if(data != null) 
     { 
      return BitmapFactory.decodeByteArray(data, 0, data.length); 

     } 
     else 
      return null; 
} 
0

を使用することができ、それはロード画像が超簡単になり、いくつかの素晴らしいオプションがあります。

基本的には、imageView(またはすべてをループして各イメージをロードする)とイメージのURIが必要です。ピカソのための興味深いと簡単なチュートリアルへ

Picasso.with(context) 
      .load(uri) 
      .into(imageView); 

リンク:

http://code.tutsplus.com/tutorials/android-sdk-working-with-picasso--cms-22149

1

あなたはMediaMetaDataRetrieverクラスを使用したメディアファイルからすべてのメタデータを取得することができます。次のように

コードは次のとおりです。

@Override 
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     getInit(); 

     // Ablum_art retrieval code // 

     metaRetriver = new MediaMetadataRetriever(); 
     metaRetriver.setDataSource("/sdcard/audio.mp3"); 
     try { 
      art = metaRetriver.getEmbeddedPicture(); 
      Bitmap songImage = BitmapFactory 
        .decodeByteArray(art, 0, art.length); 
      album_art.setImageBitmap(songImage); 
      album.setText(metaRetriver 
        .extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM)); 
      artist.setText(metaRetriver 
        .extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST)); 
      genre.setText(metaRetriver 
        .extractMetadata(MediaMetadataRetriever.METADATA_KEY_GENRE)); 
     } catch (Exception e) { 
      album_art.setBackgroundColor(Color.GRAY); 
      album.setText("Unknown Album"); 
      artist.setText("Unknown Artist"); 
      genre.setText("Unknown Genre"); 
     } 

    } 

    // Fetch Id's form xml 

    public void getInit() { 

     album_art = (ImageView) findViewById(R.id.album_art); 
     album = (TextView) findViewById(R.id.Album); 
     artist = (TextView) findViewById(R.id.artist_name); 
     genre = (TextView) findViewById(R.id.genre); 

    } 
} 
関連する問題