J'utilise le RingtoneManager
pour jouer des sons. Tout fonctionne bien quand je stocke des fichiers son (.mp3) dans les répertoires SD appropriés.Uri de fichiers dans les assets
Je trouve l'URI du fichier et je le donne à RingtoneManager
à jouer.
sd_uri = Uri.parse("/sdcard/media/path/to/file");
Ringtone rt = RingtoneManager.getRingtone(getApplicationContext(), sd_uri);
rt.play();
Vous vous demandez quoi faire en cas de tablettes qui ne sont pas livrées avec une carte SD. Mon idée est de stocker des fichiers audio dans res/raw
ou res/assets
dirs, mais contrairement à MediaPlayer
qui accepte les identifiants de ressources, RingtoneManager
ne veut qu'Uri. Comment obtenir l'Uri de fichiers dans res/raw
ou res/assets
dir? Idéalement, je voudrais utiliser res/raw
, pour obtenir R.raw.*
identifiant, ce qui pourrait être pratique.
Cela ne fonctionnera que dans la même application; les autres applications n'ont pas accès aux fichiers du dossier assets, sauf si (je crois) vous écrivez un fournisseur de contenu personnalisé pour les rendre public. –
C'est absolument vrai ... – barmaley