Android 怎么读取指定目录下的音乐文件

Android 怎么读取指定目录下的音乐文件,第1张

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卡上的音乐文件、安卓的导航怎么把本地歌曲添加到播放器的列表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9276063.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存