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

从Uri获取mp3文件的实际路径

是指通过Uri地址来获取存储在设备上的mp3文件的实际存储路径。在Android开发中,可以通过以下步骤来实现:

  1. 通过Uri获取Cursor对象:首先,使用ContentResolver的query()方法传入Uri地址来获取一个Cursor对象。例如:
代码语言:txt
复制
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
  1. 获取文件路径:通过Cursor对象可以获取文件的真实路径。在Android中,Uri地址有两种不同的类型:File Uri和Content Uri。
  • 如果是File Uri,直接调用Uri的getPath()方法即可获取文件路径。例如:
代码语言:txt
复制
String filePath = uri.getPath();
  • 如果是Content Uri,需要先根据Uri查询数据库获取文件路径。可以使用以下代码来获取文件路径:
代码语言:txt
复制
if (cursor != null && cursor.moveToFirst()) {
    int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA);
    String filePath = cursor.getString(columnIndex);
}

注意:根据Android版本的不同,查询的字段名称可能会有所变化,请根据具体情况进行调整。

  1. 关闭Cursor:获取完文件路径后,记得关闭Cursor以释放资源:
代码语言:txt
复制
if (cursor != null) {
    cursor.close();
}

该方法适用于Android平台,用于从Uri获取mp3文件的实际路径。根据具体应用场景和需求,可以选择使用不同的方法来实现。

腾讯云相关产品:腾讯云提供了丰富的云计算产品和解决方案,其中与存储和音视频处理相关的产品包括对象存储(COS)、云点播(VOD)等。您可以通过以下链接了解更多信息:

  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云云点播(VOD):https://cloud.tencent.com/product/vod
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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
  • 适配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 看来主要是把分享出去路径进行了加密,不能直接看到文件完整路径

    96541

    Java文件路径服务器路径获取

    Java文件路径获取 几种获取方式 getResourceAsStream ()返回是inputstream getResource()返回:URL Class.getResource(“”)...基本上,两个都可以用于classpath里面进行资源读取,classpath包含classpath中路径和classpath中jar 两个方法区别是资源定义不同,一个主要用于相对与一个object...,很多时候提示文件找不到,而抛出了异常,现在整理如下 1、相对路径获得 说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般Java项目还是web项目) String...relativelyPath=System.getProperty(“user.dir”); 上述相对路径中,java项目中文件是相对于项目的根目录 web项目中文件路径视不同web服务器不同而不同...(test.txt文件路径为项目名\src\test.txt,类Test1所在包第一级目录位于src目录下) 3、web项目根目录获得(发布之后) (1)servlet

    4.3K20

    Java 中几种获取文件路径方式

    前言 Java 开发中我们经常要获取文件路径,比如读取配置文件等等。今天我们就关于文件路径和如何读取文件简单地探讨一下。 2. 文件路径 文件路径通常有 相对路径 与 绝对路径。...2.1 相对路径 以当前文件为基准进行一级级目录指向被引用资源文件。在 Java 代码中以当前运行代码所在位置为参照位置,只要被引用文件相对于引用文件位置不变就可以被读取到。...2.2 绝对路径 文件文件系统中真正存在路径,是指硬盘根目录(Windows为盘符)开始,进行一级级目录指向文件根目录一层层读写)。...Java 中通过java.io.File 来进行文件操作。并且提供了以下三个方法来获取文件路径。 3.1 getPath 该方法返回文件抽象路径字符串形式。...实际上就是传递给 File 构造函数路径名。 因此,如果 File 对象是使用相对路径创建,则返回值也将是相对路径。如果是绝对路径就返回绝对路径

    11.3K20

    IOS中获取各种文件目录路径方法

    iphone沙箱模型有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器路径简单方式是什么. documents,tmp,app,Library。...(NSHomeDirectory()), 手动保存文件在documents文件里 Nsuserdefaults保存文件在tmp文件夹里 1、Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下...获取这些目录路径方法: 1,获取家目录路径函数: NSString *homeDir = NSHomeDirectory(); 2,获取Documents目录路径方法: NSArray *paths...(); 5,获取应用程序程序包中资源文件路径方法: 例如获取程序包中一个图片资源(apple.png)路径方法: NSString *imagePath = [[NSBundle mainBundle...iphone沙盒(sandbox)中几个目录获取方式: [cpp] view plain copy // 获取沙盒主目录路径   NSString *homeDir =

    5.7K20

    【python小脚本】数据库获取文件路径通过scp下载本地

    写在前面 ---- 我需求 需要在mysql数据库中查到相关文件在服务器路径,然后通过scp来下载相关文件,之前是手动操作,我现在要写成一个脚本 我需要解决问题 如何使用python连接mysql...我是怎么做 使用 pymysql模块连接mysql获取路径 使用 paramiko模块执行scp命令 通过使用PyInstaller打包为一个exe,可以直接给运维人员使用 何谓喜欢一个人,遇上她之前不知情为何物...数据库获取文件路径,通过scp远程下载文件到本地脚本 pip install pymysql pip install paramiko ''' # here put the...date = cursor.fetchall() for i in date: pathName = i["path"] print("获取文件位置...%Y-%m-%d %H:%M:%S", time.localtime()), "=========================", '\n') print("下载后文件路径

    2.2K30

    SpringBoot获取项目文件绝对路径和相对路径

    @toc1.场景比如上传图片或者读取项目里excel文件内容等,都需要准确获取文件路径2.说明项目代码大致样式获取路径说明所谓获取相对路径,其实是获取项目打包后target目录路径,而不是咱们平常看到代码路径...,具体可查看下方图片3.举例说明网上常见几种方法路径获取结果request.getServletContext().getRealPath("")request.getServletContext()...,ResourceUtils引入是package org.springframework.util;详情说明:方法1、2request.getServletContext().getRealPath...("")和 request.getServletContext().getRealPath("/")获得路径不是项目路径,而是c盘下一个tomcat目录路径)undefined结果比如:C:\Users...OperateExcelController.class.getClassLoader().getResource("").getPath()和ResourceUtils.getURL("classpath:").getPath()实际获取都是编译包里根据经

    3500

    PyQt5 技术篇-调用文件对话框获取文件文件路径文件对话框返回选中多个文件路径

    下面是常用4个文件对话框动作: QFileDialog.getExistingDirectory() # 返回选中文件路径 QFileDialog.getOpenFileName() #...返回选中文件路径 QFileDialog.getOpenFileNames() # 返回选中多个文件路径 QFileDialog.getSaveFileName() # 存储文件 获取文件路径实例..., "请选择文件路径", "D:\\Qt_ui") 注: 第一个参数,有self的话用self,没有的话用None。...获取文件路径实例 QFileDialog.getOpenFileNames(None, "请选择要添加文件", path, "Text Files (*.xls);;All Files (*)")...注: 第四个参数,列出可以进行筛选参数,第一个是默认,多个用双分号分开。

    8K21

    获取路径某个json文件内容字符串

    前言 实际项目中可能会有需要读取类路径下面的配置文件内容需求,由于springboot项目打包是jar包,通过文件读取获取方式开发时候没有问题,但是上到linux服务器上就有问题了,对于这个问题记录一下处理方式...类加载器方式 通过类加载器读取文件流,类加载器可以读取jar包中编译后class文件,当然也是可以读取jar包中文件流了 比如要读取resources目录下common/tianyanchasearch.json...(resourcePath); return GlobalResult.succeed(JSON.parseObject(content)); /** * 输入流中获取文件内容字符串...; } catch (IOException ex) { System.out.println("=======获取数据时...推测主要原因是springboot内置tomcat,打包后是一个jar包,因此通过文件读取获取方式行不通,因为无法直接读取压缩包中文件,读取只能通过流方式读取

    2.6K30
    领券