android音乐播放器开发教程

2024-10-30 17:07:14

1、关于音乐列表的读取,不同的音乐播放器都会有不同的方案,有的是有多重方案并用。例如说,全盘扫描音乐格式文件等。首先我封装了一个Audio类来存储读取的音频信息:publicclassMediaUtils{publicstaticfinalString[]AUDIO_KEYS=newString[]{MediaStore.Audio.Media._ID,MediaStore.Audio.Media.TITLE,MediaStore.Audio.Media.TITLE_KEY,MediaStore.Audio.Media.ARTIST,MediaStore.Audio.Media.ARTIST_ID,MediaStore.Audio.Media.ARTIST_KEY,MediaStore.Audio.Media.COMPOSER,MediaStore.Audio.Media.ALBUM,MediaStore.Audio.Media.ALBUM_ID,MediaStore.Audio.Media.ALBUM_KEY,MediaStore.Audio.Media.DISPLAY_NAME,MediaStore.Audio.Media.DURATION,MediaStore.Audio.Media.SIZE,MediaStore.Audio.Media.YEAR,MediaStore.Audio.Media.TRACK,MediaStore.Audio.Media.IS_RINGTONE,MediaStore.Audio.Media.IS_PODCAST,MediaStore.Audio.Media.IS_ALARM,MediaStore.Audio.Media.IS_MUSIC,MediaStore.Audio.Media.IS_NOTIFICATION,MediaStore.Audio.Media.MIME_TYPE,MediaStore.Audio.Media.DATA};publicstaticList<Audio>getAudioList(Contextcontext){List<Audio>audioList=newArrayList<Audio>();ContentResolverresolver=context.getContentResolver();Cursorcursor=resolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,AUDIO_KEYS,null,null,null);for(cursor.moveToFirst();!cursor.isAfterLast();cursor.moveToNext()){Bundlebundle=newBundle();for(inti=0;i<AUDIO_KEYS.length;i++){finalStringkey=AUDIO_KEYS[i];finalintcolumnIndex=cursor.getColumnIndex(key);finalinttype=cursor.getType(columnIndex);switch(type){caseCursor.FIELD_TYPE_BLOB:break;caseCursor.FIELD_TYPE_FLOAT:floatfloatValue=cursor.getFloat(columnIndex);bundle.putFloat(key,floatValue);break;caseCursor.FIELD_TYPE_INTEGER:intintValue=cursor.getInt(columnIndex);bundle.putInt(key,intValue);break;caseCursor.FIELD_TYPE_NULL:break;caseCursor.FIELD_TYPE_STRING:StringstrValue=cursor.getString(columnIndex);bundle.putString(key,strValue);break;

2、以上类来封装音乐媒体信息,一些变量看名字也能看出来是什么,例如说title,duration此类,无非就是歌曲名称,时长之类的信息,有些变量名字单词认识,但是并不知道干什么用,其实我也不知道是什么信息,虽然打印出来过,但是并不懂到底哪里能用到,反正一股脑都读出来了先,以后再打印输出看看都是些什么。 returnisMusic;}publicbooleanisNotification(){returnisNotification;}publicStringgetTitle(){returnmTitle;}publicStringgetTitleKey(){returnmTitleKey;}publicStringgetArtist(){returnmArtist;}publicintgetArtistId(){returnmArtistId;}publicStringgetArtistKey(){returnmArtistKey;}publicStringgetComposer(){returnmComposer;}publicStringgetAlbum(){returnmAlbum;}publicintgetAlbumId(){returnmAlbumId;}publicStringgetAlbumKey(){returnmAlbumKey;}publicStringgetDisplayName(){returnmDisplayName;}publicintgetYear(){returnmYear;

android音乐播放器开发教程

4、Android本身有媒体库,可以读取本地媒体库的数据,来快速获知设备上的音乐。

android音乐播放器开发教程
猜你喜欢