Android: Obtendo um URI de arquivo a partir de um URI de conteúdo?

No meu aplicativo, o usuário deve selecionar um arquivo de áudio que o aplicativo manipula. O problema é que, para que o aplicativo faça o que quero com os arquivos de áudio, preciso que o URI esteja no formato de arquivo. Quando uso o music player nativo do Android para procurar o arquivo de áudio no aplicativo, o URI é um URI de conteúdo, com a seguinte aparência:

content://media/external/audio/media/710

No entanto, usando o popular aplicativo gerenciador de arquivos Astro, recebo o seguinte:

file:///sdcard/media/audio/ringtones/GetupGetOut.mp3

O último é muito mais acessível para eu trabalhar, mas é claro que quero que o aplicativo tenha funcionalidade com o arquivo de áudio que o usuário escolhe, independentemente do programa que ele usa para navegar em sua coleção. Então, minha pergunta é: existe uma maneira de converter ocontent:// estilo URI em umfile:// URI? Caso contrário, o que você recomendaria para eu resolver esse problema? Aqui está o código que chama o seletor, para referência:

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);

Faça o seguinte com o URI do conteúdo:

m_ringerPath = m_ringtoneUri.getPath();
File file = new File(m_ringerPath);

Então faça algumas coisas de FileInputStream com o referido arquiv

questionAnswers(5)

yourAnswerToTheQuestion