gpt4 book ai didi

android - 如何在我的 ListView 中从 SD 卡上的特殊文件夹加载歌曲并播放?

转载 作者:行者123 更新时间:2023-11-30 02:51:39 25 4
gpt4 key购买 nike

我想从我在 SD 卡上制作的自定义文件夹中加载歌曲并通过我的应用程序播放。

这个文件夹的路径在:/sdcard/Music/MyFolder

enter image description here

现在我有一个代码可以加载位于 sc 卡上的所有音乐。此代码正在运行。但是我不想要 SD 卡中的所有音乐,我只想要我的文件夹 MyFolder 中的歌曲

这是我现在的代码:

private String[] getAudioList() {
final Cursor mCursor = getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
new String[] { MediaStore.Audio.Media.DISPLAY_NAME, MediaStore.Audio.Media.DATA }, null, null,
"LOWER(" + MediaStore.Audio.Media.TITLE + ") ASC");

int count = mCursor.getCount();

String[] songs = new String[count];
mAudioPath = new String[count];
int i = 0;
if (mCursor.moveToFirst()) {
do {
songs[i] = mCursor.getString(mCursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DISPLAY_NAME));
mAudioPath[i] = mCursor.getString(mCursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));
i++;
} while (mCursor.moveToNext());
}

mCursor.close();

return songs;
}

private void playSong(String path) throws IllegalArgumentException,
IllegalStateException, IOException {

mMediaPlayer.reset();
mMediaPlayer.setDataSource(path);
mMediaPlayer.prepare();
mMediaPlayer.start();
}

mListView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
try {
playSong(mAudioPath[arg2]);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}

有人知道怎么做吗?

最佳答案

在选择中使用 where 条件,像这样。

final Cursor mCursor = getContentResolver()
.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, new String[] { MediaStore.Audio.Media.DISPLAY_NAME, MediaStore.Audio.Media.DATA }, MediaStore.Audio.Media.DATA
+ " LIKE '/storage/sdcard0/Music/MyFolder/%'", null, "LOWER("
+ MediaStore.Audio.Media.TITLE + ") ASC");

关于android - 如何在我的 ListView 中从 SD 卡上的特殊文件夹加载歌曲并播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24054774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com