2016-03-05 164 views
0

我想创建一个Android音乐播放器,如播放音乐,所以我从谷歌github导入通用音乐播放器,但我不知道在哪里插入代码,以便从本地存储读取音乐。我知道一切都提供背景音乐服务,通知栏等..但我不知道如何从手机存储读取音乐文件。Android - 为Google Play音乐创建Android音乐播放器?

环球音乐播放器 - https://github.com/googlesamples/android-UniversalMusicPlayer

我已在Android的一些简单的应用程序,但没有建立这种复杂的任何应用程序。我介于初学者和中级之间。请帮忙!

+0

看看如何使用内部存储:http://developer.android.com/guide/topics/data/data-storage.html#filesInternal – reinder

回答

0

建议

嗨!用简单的音乐播放器查看my repository。歌曲从外部存储装载。 Pre-Lollipop支持。

SOLUTION

至于你的问题,用歌声负载的解决方案:你可以加载从外部存储的歌曲是这样的:

私人ArrayList的歌曲=新的ArrayList <>(); //宋是一些数据模型

public void getSongList() { 
     ContentResolver musicResolver = getContentResolver(); 
     Uri musicUri = android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; 
     Uri artworkUri = Uri.parse("content://media/external/audio/albumart"); 

     Cursor musicCursor = musicResolver.query(musicUri, null, null, null, null); 

     if (musicCursor != null && musicCursor.moveToFirst()) { 
      // song title 
      int titleColumn = musicCursor.getColumnIndex 
        (MediaStore.Audio.Media.TITLE); 
      // song unique id 
      int idColumn = musicCursor.getColumnIndex 
        (MediaStore.Audio.Media._ID); 
      // song's artist 
      int artistColumn = musicCursor.getColumnIndex 
        (MediaStore.Audio.Media.ARTIST); 
      // path to album art 
      int albumIdColumn = musicCursor.getColumnIndex 
        (MediaStore.Audio.Media.ALBUM_ID); 

      do { 
       long thisId = musicCursor.getLong(idColumn); 
       String thisTitle = musicCursor.getString(titleColumn); 
       String thisArtist = musicCursor.getString(artistColumn); 
       long albumId = musicCursor.getLong(albumIdColumn); 
       String albumArt = ""; 

       try { 
        albumArt = (ContentUris.withAppendedId(artworkUri, albumId)).toString(); 
        Log.d(TAG, "TEST Album art: " + albumArt); 
       } catch (Exception ex) { 
        ex.printStackTrace(); 
       } 
       // Adding new song to ArrayList 
       songs.add(new Song(thisId, thisTitle, thisArtist, albumArt)); 
      } 
      while (musicCursor.moveToNext()); 
     } 

     if (musicCursor != null) 
      musicCursor.close(); 
    }