3

Here is my code:

    //query external audio
    ContentResolver musicResolver = getContentResolver();

    Cursor musicCursor = musicResolver.query(musicUri, null, null, null, null);
    //iterate over results if valid
    if (musicCursor != null && musicCursor.moveToFirst()) {
        //get columns
        int titleColumn = musicCursor.getColumnIndex
                (android.provider.MediaStore.Audio.Media.TITLE);
        int idColumn = musicCursor.getColumnIndex
                (android.provider.MediaStore.Audio.Media._ID);
        int artistColumn = musicCursor.getColumnIndex
                (android.provider.MediaStore.Audio.Media.ARTIST);
        int file = musicCursor.getColumnIndex(MediaStore.Audio.Media.DATA);
        int durationTime = musicCursor.getColumnIndex(MediaStore.Audio.Media.DURATION);


        //add songs to list
        do {
            long thisId = musicCursor.getLong(idColumn);
            String thisTitle = musicCursor.getString(titleColumn);
            String thisArtist = musicCursor.getString(artistColumn);
            String thisPath = musicCursor.getString(file);
            String thisDuration = musicCursor.getString(durationTime);

            thisDuration = getTime(Long.valueOf(thisDuration));

            if (thisPath != null) {
                mmr.setDataSource(thisPath);
            }

            if (mmr.getEmbeddedPicture() != null) {
                byte[] art = mmr.getEmbeddedPicture();
                bitmap = null;
                if (art != null) {
                    bitmap = BitmapFactory.decodeByteArray(art, 0, art.length);
                } else {
                    bitmap = BitmapFactory.decodeFile(thisPath);
                }
            }


            songList.add(new Song(thisId, thisTitle, thisArtist, thisPath, thisDuration, bitmap));

        }
        while (musicCursor.moveToNext());
    }

Caused by: java.lang.RuntimeException: setDataSource failed: status = 0xFFFFFFEA at android.media.MediaMetadataRetriever.setDataSource(Native Method) at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:66)

and Uri musicUri = EXTERNAL_CONTENT_URI;

Sunny
  • 3,134
  • 1
  • 17
  • 31
harsh bangari
  • 417
  • 6
  • 19
  • Which line in the code you pasted is in the stacktrace? If it's ` mmr.setDataSource(thisPath);`, what is `mmr` and what is `thisPath`? – Kenney Sep 21 '15 at 13:33
  • 1
    thisPath will be generated like /stogare/emulated/0/Ringtones/hangouts_message.ogg – harsh bangari Sep 22 '15 at 07:44
  • Possible duplicate of [How do I access the MediaMetadataRetriever.setDataSource(...) status codes?](http://stackoverflow.com/questions/21009583/how-do-i-access-the-mediametadataretriever-setdatasource-status-codes) – Samuel Thompson Feb 04 '17 at 00:08

0 Answers0