Android - 为Google Play音乐创建Android音乐播放器?
问题描述:
我想创建一个Android音乐播放器,如播放音乐,所以我从谷歌github导入通用音乐播放器,但我不知道在哪里插入代码,以便从本地存储读取音乐。我知道一切都提供背景音乐服务,通知栏等..但我不知道如何从手机存储读取音乐文件。Android - 为Google Play音乐创建Android音乐播放器?
环球音乐播放器 - https://github.com/googlesamples/android-UniversalMusicPlayer
我已在Android的一些简单的应用程序,但没有建立这种复杂的任何应用程序。我介于初学者和中级之间。请帮忙!
答
建议
嗨!用简单的音乐播放器查看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();
}
看看如何使用内部存储:http://developer.android.com/guide/topics/data/data-storage.html#filesInternal – reinder