2013-01-03 6 views
3

제목, 아티스트, 앨범 등 모든 정보가 포함 된 SDCard의 모든 노래를 표시합니다.안드로이드에서 노래 미리보기 이미지를 표시하는 방법은 무엇입니까?

하지만 노래 미리보기 이미지에 문제가 있습니다. 노래 미리보기 이미지를 가져 오는 방법.

다음은 제 코드입니다.

public class AndroidListMediaActivity extends ListActivity { 

SimpleCursorAdapter adapter; 
MediaPlayer myMediaPlayer; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     String[] from = { 
     MediaStore.MediaColumns.TITLE}; 
     int[] to = { 
     android.R.id.text1}; 

     Cursor cursor = managedQuery(
     MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, 
     null, 
     null, 
     null, 
     MediaStore.Audio.Media.TITLE); 

     adapter = new SimpleCursorAdapter(this, 
     android.R.layout.simple_list_item_1, cursor, from, to); 
     setListAdapter(adapter); 
    } 

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 
    Cursor cursor = adapter.getCursor(); 
    cursor.moveToPosition(position); 

    String _id = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media._ID)); 
    String title = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE)); 
    String artist = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST)); 
    String album = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM)); 
    int duration = cursor.getInt(cursor.getColumnIndex(MediaStore.Audio.Media.DURATION)); 

    Uri playableUri 
    = Uri.withAppendedPath(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, _id); 
    myMediaPlayer = MediaPlayer.create(getBaseContext(), playableUri); 
    String msgMediaPlayer; 
    if(myMediaPlayer != null){ 
    myMediaPlayer.start(); 
    msgMediaPlayer = "Playing: " + playableUri + "\n"; 
    }else{ 
    msgMediaPlayer = "Cannot play: " + playableUri + "\n"; 
    } 

    String info = msgMediaPlayer + "\n" 
    + "_ID: " + _id + "\n" 
    + "TITLE: " + title + "\n" 
    + "ARTIST: " + artist + "\n" 
    + "ALBUM: " + album + "\n" 
    + "DURATION: " + duration/1000 + "s"; 

    Toast.makeText(this, info, Toast.LENGTH_LONG).show(); 
} 

} 
+0

http://stackoverflow.com/questions/1334694/android-is-it-possible-to-display-video-thumbnails –

+0

이 게시물에 게시 유사한 시나리오를보십시오 : http://stackoverflow.com/questions/3438809/how-do-i-get-album-thumbnails-in-android – Gridtestmail

답변

0

사용 다음 예제에서는 나에게 도움이됩니다.

public class Main extends ListActivity 
{ 

String[] videoFileList = { 
     "/sdcard/Video/1.mp4", 
     "/sdcard/Video/2.mp4", 
     "/sdcard/Video/3.mp4", 
     "/sdcard/Video/5.mp4" 
}; 

public class MyThumbnaildapter extends ArrayAdapter<String> 
{ 

    public MyThumbnaildapter(Context context, int textViewResourceId,String[] objects) 
    { 
     super(context, textViewResourceId, objects); 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) 
    { 
     // TODO Auto-generated method stub 

     View row = convertView; 
     if(row==null) 
     { 
      LayoutInflater inflater=getLayoutInflater(); 
      row=inflater.inflate(R.layout.second_list_item, parent, false); 
     } 

     TextView textfilePath = (TextView)row.findViewById(R.id.FilePath); 
     textfilePath.setText(videoFileList[position]); 
     ImageView imageThumbnail = (ImageView)row.findViewById(R.id.Thumbnail); 

     Bitmap bmThumbnail; 
     if(new File(videoFileList[position]).exists()) 
     { 
      bmThumbnail = ThumbnailUtils.createVideoThumbnail(videoFileList[position], MediaStore.Images.Thumbnails.MINI_KIND); 
      bmThumbnail=Bitmap.createScaledBitmap(bmThumbnail,150,150, true); 
      imageThumbnail.setImageBitmap(bmThumbnail); 
      textfilePath.setText(videoFileList[position]); 
     } 

     return row; 
    } 

} 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setListAdapter(new MyThumbnaildapter(Main.this, R.layout.second_list_item, videoFileList)); 
} 

}

+1

OP는 MediaStore에서 비디오 썸네일의 노래 썸네일을 표시하도록 요청했습니다! – akshay7692

관련 문제