ContentResolver mResolver = getContentResolver();
Cursor cursor = mResolverquery(MediaStoreAudioMediaEXTERNAL_CONTENT_URI, null, null, null, MediaStoreAudioMediaDEFAULT_SORT_ORDER);
int i = 0;
int cursorCount = cursorgetCount();
if (cursorCount >0 )
{
cursormoveToFirst();
while (i < cursorCount)
{
//歌曲文件的路径 :MediaStoreAudioMediaDATA
url = cursorgetString(cursorgetColumnIndexOrThrow(MediaStoreAudioMediaDATA));
if(urltoLowerCase()indexOf("指定的歌曲路径") > 0)
{
}
i++;
cursormoveToNext();
}
cursorclose();
}
安卓系统在开机的时候就会自动检测SD卡的文件,并将音乐文件搜集生成一个数据库文件。我们只需访问数据库表中的信息就能得到所需的文件
代码如下:
<span style="font-size:14px; white-space: pre;"> </span><span style="font-size:14px;">// 获取所有歌曲
Cursor cursor = crquery(
MediaStoreAudioMediaEXTERNAL_CONTENT_URI, null, null,
null, MediaStoreAudioMediaDEFAULT_SORT_ORDER);</span>
得到cursor对象就能访问cursor里的媒体资源
安卓的导航把本地歌曲添加到播放器的列表步骤如下:
1、将您想要在手机上播放的音乐添加到您的闪存驱动器,确保它采用Android可以使用的格式;
2、将闪存驱动器连接到您的Android;
3、导航到您的闪存驱动器并将音乐复制到本地存储;
4、打开您的文件管理器并转到您的闪存驱动器,然后找到您的音乐,然后将文件移动或复制到本地存储即可。
1先获取sd卡中音乐文件:
Cursor cursor = resolverquery(
MediaStoreAudioMediaEXTERNAL_CONTENT_URI, null, null, null,
MediaStoreAudioMediaDEFAULT_SORT_ORDER);
2通过cursor获得音乐的名字和uri。
String titleString = cursorgetString(cursor
getColumnIndex(MediaStoreAudioMediaTITLE));
String uriString = cursorgetString(cursor
getColumnIndex(MediaStoreAudioMediaDATA));
名字显示在listview中,uri用来播放音乐。
Uri musicUri = Uriparse(uriString);
mp = new MediaPlayer();
mpsetAudioStreamType(AudioManagerSTREAM_MUSIC);
mpsetDataSource(getApplicationContext(), musicUri);
这样就可以实现你上面所需功能了!
随机播放
1015 private void toggleShuffle() {
1016 if (mService == null) {
1017 return;
1018 }
1019 try {
1020 int shuffle = mServicegetShuffleMode();
1021 if (shuffle == MediaPlaybackServiceSHUFFLE_NONE) {
1022 mServicesetShuffleMode(MediaPlaybackServiceSHUFFLE_NORMAL);
1023 if (mServicegetRepeatMode() == MediaPlaybackServiceREPEAT_CURRENT) {
1024 mServicesetRepeatMode(MediaPlaybackServiceREPEAT_ALL);
1025 setRepeatButtonImage();
1026 }
1027 showToast(Rstringshuffle_on_notif);
1028 } else if (shuffle == MediaPlaybackServiceSHUFFLE_NORMAL ||
1029 shuffle == MediaPlaybackServiceSHUFFLE_AUTO) {
1030 mServicesetShuffleMode(MediaPlaybackServiceSHUFFLE_NONE);
1031 showToast(Rstringshuffle_off_notif);
1032 } else {
1033 Loge("MediaPlaybackActivity", "Invalid shuffle mode: " + shuffle);
1034 }
1035 setShuffleButtonImage();
1036 } catch (RemoteException ex) {
1037 }
1038 }
1039
循环播放
1040 private void cycleRepeat() {
1041 if (mService == null) {
1042 return;
1043 }
1044 try {
1045 int mode = mServicegetRepeatMode();
1046 if (mode == MediaPlaybackServiceREPEAT_NONE) {
1047 mServicesetRepeatMode(MediaPlaybackServiceREPEAT_ALL);
1048 showToast(Rstringrepeat_all_notif);
1049 } else if (mode == MediaPlaybackServiceREPEAT_ALL) {
1050 mServicesetRepeatMode(MediaPlaybackServiceREPEAT_CURRENT);
1051 if (mServicegetShuffleMode() != MediaPlaybackServiceSHUFFLE_NONE) {
1052 mServicesetShuffleMode(MediaPlaybackServiceSHUFFLE_NONE);
1053 setShuffleButtonImage();
1054 }
1055 showToast(Rstringrepeat_current_notif);
1056 } else {
1057 mServicesetRepeatMode(MediaPlaybackServiceREPEAT_NONE);
1058 showToast(Rstringrepeat_off_notif);
1059 }
1060 setRepeatButtonImage();
1061 } catch (RemoteException ex) {
1062 }
1063
1064 }
其实应该就是参数设置的问题,兄弟建议你参考 android music的代码。比如MediaPlaybackActivityjava,网上也可以搜到这个类。
以上就是关于Android 怎么读取指定目录下的音乐文件全部的内容,包括:Android 怎么读取指定目录下的音乐文件、android音乐播放器怎么搜索SD卡上的音乐文件、安卓的导航怎么把本地歌曲添加到播放器的列表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)