在我的应用程序中,用户选择一个音频文件,然后应用程序进行处理。问题是,为了让应用程序按照我想要的方式处理音频文件,我需要URI为文件格式。当我使用Android的原生音乐播放器在应用程序中浏览音频文件时,URI是一个内容URI,如下所示:
content://media/external/audio/media/710
但是,使用流行的文件管理器应用程序Astro,我得到了以下内容:
file:///sdcard/media/audio/ringtones/GetupGetOut.mp3
后者对我来说更容易使用,但我当然希望应用程序具有用户选择的音频文件的功能,而不管他们使用什么程序来浏览他们的收藏。所以我的问题是,有没有一种方法可以将content://
风格的URI转换为file://
URI?否则,你会给我推荐什么来解决这个问题呢?下面是调用选择器的代码,供参考:
Intent ringIntent = new Intent();
ringIntent.setType("audio/mp3");
ringIntent.setAction(Intent.ACTION_GET_CONTENT);
ringIntent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(Intent.createChooser(ringIntent, "Select Ringtone"), SELECT_RINGTONE);
我对内容URI执行以下操作:
m_ringerPath = m_ringtoneUri.getPath();
File file = new File(m_ringerPath);
然后对这个文件做一些FileInputStream的事情。
https://stackoverflow.com/questions/5657411
复制相似问题