Donc, dans mon application l'utilisateur de sélectionner un fichier audio à l'application gère ensuite. Le problème que j'ai, c'est que pour l'application pour faire ce que je veux faire avec les fichiers audio, j'ai besoin de l'Uri pour être dans le format de fichier. Lorsque j'utilise Android natif du lecteur de musique pour rechercher le fichier audio dans l'application, l'Uri est un Contenu uri, qui ressemble à ceci:
content://media/external/audio/media/710
Cependant, l'utilisation de la populaire application gestionnaire de fichiers Astro, je reçois le texte suivant:
file:///sdcard/media/audio/ringtones/GetupGetOut.mp3
Le dernier est beaucoup plus accessible pour moi de travailler avec, mais bien sûr, je veux de l'application pour avoir des fonctionnalités avec le fichier audio de l'utilisateur choisit quel que soit le programme qu'ils utilisent pour parcourir leur collection. Donc ma question est, est-il un moyen de convertir le contenu:// style Uri dans un fichier:// Uri? Sinon, que recommanderiez-vous pour moi à résoudre ce problème? Voici le code qui appelle le sélecteur de référence:
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);
Merci beaucoup! S'il vous plaît laissez-moi savoir si je peux fournir plus de code pour vous aider à répondre.
Je ne les suivants avec le contenu Uri:
m_ringerPath = m_ringtoneUri.getPath();
File file = new File(m_ringerPath);
Puis certains FileInputStream des trucs avec ce dossier.