首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从MediaStore获取音乐的URI?

从MediaStore获取音乐的URI可以通过以下步骤实现:

  1. 导入相关类和包:import android.content.ContentResolver; import android.content.Context; import android.database.Cursor; import android.net.Uri; import android.provider.MediaStore;
  2. 获取ContentResolver对象:ContentResolver contentResolver = context.getContentResolver();
  3. 构建查询的Uri和投影(Projection):Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; String[] projection = { MediaStore.Audio.Media._ID, MediaStore.Audio.Media.DATA };
  4. 执行查询:Cursor cursor = contentResolver.query(uri, projection, null, null, null);
  5. 遍历Cursor获取音乐的URI:if (cursor != null && cursor.moveToFirst()) { do { long id = cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media._ID)); String data = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA)); Uri musicUri = Uri.withAppendedPath(uri, String.valueOf(id)); // 使用musicUri进行音乐的操作 } while (cursor.moveToNext()); }

在上述代码中,我们首先获取ContentResolver对象,然后构建查询的Uri和投影,接着执行查询并遍历Cursor获取音乐的ID和路径,最后使用Uri.withAppendedPath方法将ID附加到Uri上,得到音乐的URI。

MediaStore是Android提供的一个多媒体数据库,用于管理设备上的多媒体文件。通过使用MediaStore,我们可以方便地获取设备上的音乐、图片、视频等多媒体文件的信息。

推荐的腾讯云相关产品:腾讯云对象存储(COS)。

腾讯云对象存储(COS)是一种高可用、高可靠、强安全的云存储服务,适用于存储和处理各种类型的非结构化数据,包括文本、图片、音频、视频等。您可以使用腾讯云对象存储(COS)来存储和管理音乐文件,通过提供的API和SDK进行上传、下载、管理等操作。

腾讯云对象存储(COS)产品介绍链接地址:https://cloud.tencent.com/product/cos

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android如何通过URI获取文件路径示例代码

前言 最近在工作过程中,遇到不同 Android 版本下 URI 采用不同方式来获取文件路径问题。...因为需求原因,要求拍照上传或者相册中选择图片上传,而且图片是需要经过压缩,大小不能超过2M。 很快,拍照这部分就搞定了。那么相册中选择图片也是一样道理,应该也是轻松解决了。...最关键来了,如果通过 URI获取文件呢? 比如,现在 URI 为 content://media/extenral/images/media/17766 ,而我们需要得到对应文件路径。...因为在 Android 4.4 及以上手机上,获取 URI 变成了 content://com.android.providers.media.documents/document/image%3A235700...这是因为在 Android 4.4 及以上机型,使用了 DocumentUri 来代表获取到文件 URI 。 所以我们又要对于 DocumentUri 进行适配。

4K00

Android开发做一个简单音乐播放器

Android开发如何做一个简单音乐播放器,首先我们先要知道用到知识点有哪些。...1.MediaPlayer:可以播放本地资源、sd卡内存资源以及网络uri资源,在这里我们播放sd卡上音乐资源. 2.Contentresolver:如何获取本地音乐资源。...了解上述问题后,我们开始写代码: 1.获取本地音乐资源列表:    1).读取sd卡上内容我们需要在配置文件中添加权限: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE... Cursor c=contentResolver.query(<em>MediaStore</em>.Audio.Media.EXTERNAL_CONTENT_<em>URI</em>,null,null,null,null);    ...conuri= ContentUris.withAppendedId(android.provider.<em>MediaStore</em>.Audio.Media.EXTERNAL_CONTENT_<em>URI</em>,id[index

3.3K50
  • android 如何获取手机图片、视频、音乐

    在android 开发中,很多时候,我们会需要调用到用户本机照片、视频或者是音乐让用户选择,来进行我们APP对应操作。...: startActivityForResult(Intent.createChooser(photoPickerIntent, "Select"),1);使用 createChooser()打开好处是...,程序会自动弹出一个对话框,对话框名字可以自己设置,我demo 里设置是 Select,弹出这个框,作用是让用户选择,基于本机手机已经安装了,能够打开当前文件 应用。...举个例子,我要打开音乐,而我手机 同时 有 天天动听 和酷狗,那么它就会提示我,用酷狗还是天天动听。...还一种方法是,默认直接打开: startActivityForResult(photoPickerIntent,1); 这种方法有时候会显示不出来,原因是,程序运行时候,检测到本机有多个音乐或者图片总体类型

    1.7K50

    获取JOOX音乐地址

    Joox 相信很多人都熟悉,它是腾讯音乐国外版本,可以免费听大部分国内要 VIP 歌(包括单独付费歌曲) 今天我来教大家如何获取音乐地址 进入官网 首先我们进入官网: 点击进入 image.png...看到应该是这样场景,如果右上角没出现 Log in 就请参照CCKNBC 大佬教程配置 搜索歌曲 在 Search Songs 处搜索歌曲,这里以周杰伦 Mojiti 为例 image.png...在此页面的时候按下 F12 F12 切换到 Network image.png 看好这里 点击 Play 时候看有没有新请求 image.png 一般都会请求失败,因为 API 被墙了 取得 API...地址 我们把鼠标移到这两个新增请求上面 找到以 https://api-jooxtt.sanook.com 开头地址,将他复制下来 image.png 在新窗口打开 接着只需要找到 play_url_list

    79210

    Python爬虫 | 如何获取网易云音乐评论

    今天看了知乎上一个问答,关于如何爬取网易云音乐评论 关于如何爬网易云音乐评论 我发现,第一位大佬写方法,嗯,确实看不懂(虽然不妨碍白嫖),然后我自己试了试,params和encSecKey直接F12...+ctrlC/V复制 """ 不按照大佬写加密方法,只能获取第一页评论/(ㄒoㄒ)/~~ """ import requests from bs4 import BeautifulSoup import...def main(): url=input("请输入需要获取音乐网址(仅网易云音乐): ") get_song_html(url) if __name__ == "_..._main__": main() 这样好像也可以获取评论,但是只有第一页评论 之后又看了第二个评论,发现有没有加密api ,于是在尝试了多个各种评论后发现: API #单曲{id...limit={}&offset={}" 这些url对应都是评论,limit是一页数量,offset就是偏移量=(评论页数-1) * limit 如何爬网易云音乐评论数?

    1.2K10

    如何设计,容易挨揍URI???

    后端工程师,如何无脑设计一些shi一样URI,来恶心移动/前端工程师呢? 希望本文能给大家一些启示。 方法一:搞一些不知所谓名称。...例如: http://api.exapmle.com/louvre/da-vinci/mona-lisa 画外音:卢浮宫/达芬奇/蒙娜丽莎 方法三:多在URI末尾添加“/”,让别人以为是目录,还有可能帮他们多搞一次...提高URI误读性,尽量让文本查看器中下划线特效遮蔽“_”。...例如: http://api.example.com/My-Folder/My-Doc 画外音:RFC 3986中规定URI区分大小写。 学会了吗?注意保护好自己!...玩笑归玩笑,好URI,建议这么弄: (1)RESTful是基本原则,命名要有意义; (2)不要用容易拼错外语; (3)URI末尾不要添加“/”; (4)使用“-”而不是“_”,以提高URI可读性

    48520

    适配android7.0获取文件Uri方法

    Android 7.0 对系统进行了很多优化:例如文件访问权限,省电,网络,后台等等,其中最突出就是应用外Uri访问。 什么时候会用到Uri应用外访问呢?...举一个简单例子,下载apk更新,这个时候会调用系统功能来安装这个apk,这就是应用外访问文件,需要传入文件Uri。...但是这样可能会显得不太安全,万一是什么非常重要文件就糟糕了,所以Android 7.0对应用外访问Uri要进行处理加密。 正文# 那应该怎么处理这个问题呢?...,如果是7.0以下就使用之前Uri,如果是7.0以上,开始通过Provider来获取加密后Uri。...最终得到Uri格式: content://com.lzp.fileprovider/myFile/xxxxx.apk 看来主要是把分享出去路径进行了加密,不能直接看到文件完整路径。

    96141

    Android获取本机各种类型文件方法

    提示 获取音乐、视频、图片、文档等文件是需要有读取SD卡权限,如果是6.0以下系统,则直接在清单文件中声明SD卡读取权限即可;如果是6.0或以上,则需要动态申请权限。...context; mContentResolver = context.getContentResolver(); } } } return mInstance; } 获取音乐列表.../** * 获取本机音乐列表 * @return */ private static List<Music getMusics() { ArrayList<Music musics = new...ArrayList< (); Cursor c = null; try { c = mContentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI...//此处省略setter和getter方法 } PinyinUtils根据名字获取拼音,主要是用于音乐列表A-Z排序,需要依赖pinyin4j.jar,获取拼音方法getPinyin(String

    94730

    Android获取本机各种类型文件列表(音乐、视频、图片、文档等)

    提示 获取音乐、视频、图片、文档等文件是需要有读取SD卡权限,如果是6.0以下系统,则直接在清单文件中声明SD卡读取权限即可;如果是6.0或以上,则需要动态申请权限。...mContentResolver = context.getContentResolver(); } } } return mInstance; } 获取音乐列表.../** * 获取本机音乐列表 * @return */ public List getMusics() { ArrayList musics = new ArrayList...(); Cursor c = null; try { c = mContentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI...//此处省略setter和getter方法 } PinyinUtils根据名字获取拼音,主要是用于音乐列表A-Z排序,需要依赖pinyin4j.jar,获取拼音方法getPinyin(String

    5.9K51

    Android 10适配要点,作用域存储

    Android 10开始,每个应用程序只能有权在自己外置存储空间关联目录下读取和创建文件,获取该关联目录代码是:context.getExternalFilesDir()。...开源库地址是:https://github.com/guolindev/ScopedStorageDemo 获取相册中图片 首先来学习一下如何在作用域存储当中获取手机相册里图片。...不同于过去可以直接获取到相册中图片绝对路径,在作用域存储当中,我们只能借助MediaStore API获取到图片Uri,示例代码如下: val cursor = contentResolver.query...这样我们就将获取相册中图片方式掌握了,并且这种方式在所有的Android系统版本中都适用。 那么接下来,我们开始学习如何将一张图片添加到相册。...而Android 10开始,我们已经不能以绝对路径方式访问外置存储空间了,所以文件下载功能也会受到影响。 那么该如何解决呢?主要有以下两种方式。

    2.2K10

    api网关怎么获取uri路径 api如何处理局部访问失败

    并且提供负载均衡以及熔断限流安全监控等等非常重要互联网应用功能。下面来了解一下api网关怎么获取uri路径。...api网关怎么获取uri路径 api网关作用是多种多样获取uri路径是其中之一,那么api网关怎么获取uri路径呢?...api如何处理局部访问失败 上面了解了api网关怎么获取uri路径,那么api如何处理局部访问失败情况呢?...随着应用微服务不断增多,有时候会出现某一个微服务瘫痪以及故障情况,那么api网关是如何来应急处理这种问题呢?...获取uri路径是api网关一个重要核心功能,因此多了解一些相关知识,有助于工作人员以及技术人员对于api网关更好管理和使用。

    1.3K30

    如何Facebook获取流量?

    我认为有一点非常重要 - 像我们这样营销人员应该理解统计数据是如何工作,尤其是具有代表性数据。...我认为这个统计非常有意义,假设你是一个更多依赖于社交媒体网站,而你社交媒体获得流量不到20%,甚至低于15%,那么你可能有一些工作要做,以获得更多机会。...其中一个你可能听说过是Buzzfeed,去年他们发表了一个长篇大论,关于他们如何社交媒体获得70%以上流量,并声称他们不关心搜索,认为搜索优化毫无用处,现在没有人做SEO了,如此等等。...因此,性能(Performance)和交互度(Engagement)角度来衡量,Facebook流量属于较低层次。...04 第四点,吸引初次点击角度来分析,标题往往比内容更为关键。

    5.1K40

    Android-图片选择,裁剪,压缩,适配高版本

    效果展示 效果展示链接 1.图片选取 拍照 我们之前设置拍照保存文件地址Uri,都是直接Intent.putExtra(MediaStore.EXTRA_OUTPUT,文件保存Uri路径),但是...7.0之后,对用户权限提高了保护,之前那种方式行不通了,所以我们要做7.0判断,用FileProvider获取设置保存文件Uri,然后放到Intent.putExtra(MediaStore.EXTRA_OUTPUT...); // //通过FileProvider获取保存图片fileuri(先创建file,然后获取FileUri) takePhotoSaveAdr...// intent.setType("video/*"); 获取本地视频 //intent.setType("audio/*") 获取本地音乐...,使用 content://代替了 file:/// 这是因为:Android 为了提高私有文件安全性, 7.0 开始对外传递file://类型uri会触发FileUriExposedException

    1.4K30

    Android调用系统照相机拍照与摄像方法

    1、系统现有相机应用调用   对于如何调用系统现有应用,之前就有讲解,这里简单再说一下。...格式 Uri uri=Uri.fromFile(file); // 设置系统相机拍摄照片完成后图片文件存放地址 intent.putExtra(MediaStore.EXTRA_OUTPUT..., uri); 3、获取系统现有相机拍摄图片   在新开启Activity中,如果需要获取返回值,则需要使用startActivityForResult(Intent,int)方法开启Activity...content地址:"+data.getData()); iv_CameraImg.setImageURI(data.getData()); } } } 效果展示: image.png  这里只是简单演示了如何调用系统现有的相机应用获取拍摄图片...5、系统现有相机拍摄视频   系统现有的相机应用中获取拍摄视频,与获取拍摄图片过程大致相同,但是它除了可以通过putExtra()设置MediaStore.EXTRA_OUTPUT输出路径外,还可以设置其它值

    7.4K21

    AndroidQ 沙箱适配多媒体文件(小结)

    读取和写入 其次,是读取 content uri。这里需要注意 File file = new File(contentUri); 是无法获取到文件。file.exist() 为 false。...如何确定 ContentUri 形式文件存在 2. 如何读取或写入文件。 首先,对于 Content Uri 读取,必须借助于 ContentResolver。...对于问题 2,如 1 所示,可以借助 Content Uri ContentResolver 里面拿到 AssetFileDescriptor,然后就可以拿到 InputSteam 或 OutputStream..., contentValues); return uri; } 这里所做,只是往 MediaStore 里面插入一条新记录,MediaStore 会返回给我们一个空 Content Uri,接下来问题就转化为往这个... Thumbnail 只能使用实时获取 Bitmap 方法,如下所示: private Bitmap getThumbnail(ContentResolver cr, long videoId)

    95120

    如何列表中获取元素

    思考一下: 对于URAM是否也可以通过设置独立地址空间将其配置为两个独立单端口RAM? 观察URAM物理管脚,不难发现A/B端口都有相应地址、使能、读写控制信号。...与BRAM不同是URAM读写使能信号是同一个管脚RDB_WR_A/B,其为0时执行读操作,为1时执行写操作,这意味着一旦A/B端口独立,同一端口读写操作就无法同时发生,因此,如果采用上一篇文章中介绍方法将其配置为两个独立单端口...RAM,其读写行为与常规单端口RAM是不同,进一步而言,此时读写行为类似于NO_Change模式。...有两种方法可用于列表中获取元素,这涉及到两个命令,分别是lindex和lassign。...思考一下: 如何用foreach语句实现对变量赋值,其中所需值来自于一个给定列表。

    17.3K20
    领券