[英]Loading MediaStore.Audio.Media.DATA not working for android 10 and above?
[英]MediaStore.Audio.Media.DATA is empty for files on USB-Drive
我正在通過搜索音樂文件
proj = new String[] {[...],
MediaStore.Audio.Media.DATA
};
Cursor musiccursor = context.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,proj, MediaStore.Audio.Media.IS_MUSIC + "=1", null, null);
[...]
int ixdata = musiccursor.getColumnIndex(MediaStore.Audio.Media.DATA);
[...]
while(musiccursor.moveToNext()) {
[...]
String data = musiccursor.getString(ixdata);
使用/ mnt / sdcard上的文件,一切正常,但不幸的是,使用/ mnt / USB中的文件,數據似乎為空。
更糟糕的是,媒體播放器只能使用/ mnt / sdcard中文件的content-URI(即content:// media / external / audio / media / 120),而不能使用/ mnt / USB中文件的content-URI (即content:// media / external / audio / media / 530)。
文件還可以,當我給Mediaplayer絕對路徑即/mnt/USB/testfile.mp3時,我可以正常播放它們
甚至更奇怪:從USB驅動器上的文件中讀取專輯,藝術家,標題等都沒有問題
有人有主意嗎?
謝謝
我已經問過自己同樣的問題,但是我沒有找到媒體存儲區包含具有空數據行的原因。 我想到的是通過不選擇帶有和空數據字段的項目(過濾空數據源)在查詢中向媒體存儲添加“ where子句”。
Cursor cursor = managedQuery(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
MY_COLUMNS,
MediaStore.Audio.Media.DATA + "<> ''",
null,
SORT_ORDER);
哪里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.