繁体   English   中英

从绝对路径获取音频文件的内容uri

[英]Get content uri of an audio file from its absolute path

我经历了很多stackoverflow问题,但我找不到答案。 对于图像文件有一个答案,但是在我的情况下不起作用。

所以我使用file.getAbsolutePath()获得文件的绝对路径。 但是我需要将其转换为contentUri,以便下面的查询工作正常。

Cursor tempCursor = context.getContentResolver().query(uri,
                    proj, null, null, null);

它不起作用。 我尝试了Uri.parse(contentUri)但是我猜没有给出内容uri。 请帮助我,我很久以来一直陷于困境。 谢谢 !!

您不使用get.absolute等。只需查询Medfiastore.Audio等,然后返回_id和_DATA。 _id是歌曲ID,_DATA是完整的路径和曲目

下面的代码,您可以使用。 只需输入曲目名称

    public String getThisTrackId(Context context, String trackName) {
    ContentResolver cr = context.getContentResolver();
    final String _id = MediaStore.Audio.Media._ID;
    final String path = MediaStore.Audio.Media.DATA;
    final String[] columns = { _id };
    final String[] trackname = { "%"+ trackName +"%" };
    String where = path + " LIKE ?";
    String strtrack_id  = null;
    Cursor crs =cr.query(uri, columns, where, trackname, null);
    if(crs!= null && crs.moveToFirst()){
        strtrack_id  = crs.getString(crs.getColumnIndexOrThrow(_id));
        crs.close();
    }

    return strtrack_id;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM