有关MediaStore.Audio.Media类的问题

Phoenix屯 2015-09-30 12:22:53
我运行以下程序在手机上:
Log.d(TAG, MediaStore.Audio.Media.EXTERNAL_CONTENT_URI.toString());
StringBuilder sb = new StringBuilder();
Cursor cursor = this.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, null);
if(cursor.moveToFirst()){
do{
//歌曲文件的路径 :
String url = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));
sb.append( "url:" + url + "\n");
}while(cursor.moveToNext());
cursor.close();
Log.d(TAG, sb.toString());
}
这段代码打印显示 MediaStore.Audio.Media.EXTERNAL_CONTENT_URI为content://media/external/audio/media,而且打印出了手机内置外存/storage/emulated/legacy/*和扩展sdcard中的音频文件路径/storage/sdcard1/*;
问题来了!!然后我在log中随便抓取手机内置外存中的任一音频文件,继续以下操作:
Uri uri = MediaStore.Audio.Media.getContentUriForPath("/storage/emulated/0/阿桑/受了点伤/一直很安静.mp3");
Log.d(TAG, uri.toString());
打印出来该文件对应的uri居然是content://media/internal/audio/media!!
但是抓取sdcard中的任一音频文件,显示的uri就是content://media/external/audio/media
我完全糊涂了,既然是从 MediaStore.Audio.Media.EXTERNAL_CONTENT_URI中获取到的这些音视频信息,它们的uri当然应该和MediaStore.Audio.Media.EXTERNAL_CONTENT_URI一样啊?!
实在不得其解,恳求大神帮助,不胜感激!!
...全文
471 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧