private void getAudioList() {

cursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, null);

   musicPath = new String[cursor.getCount()];

   musicTitle= new String[cursor.getCount()];

   musicName = new String[cursor.getCount()];

   musicImage = new String[cursor.getCount()];

   musicArtist = new String[cursor.getCount()];

   count = 0;

   Resources r = getResources();

    BitmapDrawable mDefaultAlbumIcon = (BitmapDrawable)r.getDrawable(R.drawable.ic_launcher);

   

   cursor.moveToFirst();

   Drawable draw;

   

   

   do{

       musicPath[cursor.getPosition()]=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));

       musicTitle[cursor.getPosition()]=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DISPLAY_NAME));

       musicName[cursor.getPosition()]=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE));

       musicImage[cursor.getPosition()]=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM_ID));

       musicArtist[cursor.getPosition()]=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));

       

       if(musicTitle[cursor.getPosition()].endsWith(".mp3")) {

        draw = MusicUtils.getCachedArtwork(this, count+1, mDefaultAlbumIcon);

        MList.add(new MusicList(musicName[cursor.getPosition()], musicPath[cursor.getPosition()],  musicArtist[cursor.getPosition()], draw) );

        count++;

       }

   } while(cursor.moveToNext());

   

   Collections.sort(MList);

   btn.setText(Integer.toString(musicImage.length));

}



썸네일 추출하는데 제대로 추출이 안됨..


몇개만 추출돼서 나오고 그마저도 이상한 노래 옆에 가서 붙네