2011-11-09 3 views
1

Quelques fichiers WAV utilisés par mon application se trouvent actuellement dans res/raw. Ces fichiers doivent être accessibles par l'utilisateur après l'installation de l'application. Donc, idéalement, mon application devrait créer un dossier sur l'appareil et y mettre les fichiers. Des idées/suggestions sur la façon de faire cela?Comment inclure des fichiers WAV externes dans Android

soundIds[0] = soundPool.load(test2Activity, R.raw.snare, 1); 
     soundIds[1] = soundPool.load(test2Activity, R.raw.snare2, 1); 

Répondre

0

Vous pouvez accéder à la sd_card, vous pouvez créer un répertoire et mettre vos fichiers

// create a File object for the parent directory 
File yourDirectory = new File("/sdcard/YourDirectory/"); 
// have the object build the directory structure, if needed. 
yourDirectory.mkdirs(); 
// create a File object for the output file 
File outputFile = new File(yourDirectory, filename); 
// now attach the OutputStream to the file object, instead of a String representation 
FileOutputStream fos = new FileOutputStream(outputFile); 

Le fichier de sortie devrait être votre son que vous avez chargé de res/raw. Mon conseil serait de simplement copier le son dans le dossier, et toujours utiliser le son de res/premières à partir de votre application, car

1) il est plus facile puisque vous pouvez y accéder en tant que ressources

2) vous êtes sûr que l'utilisateur n'a pas supprimé le répertoire.

Rappelez-vous de mettre l'autorisation de l'utilisateur « android.permission.WRITE_EXTERNAL_STORAGE » dans les

donner mal
+0

un grand merci manifeste qu'un essai. j'en ai besoin pour que l'utilisateur puisse éditer le son et l'application l'utilisera. – user1033558

+0

qu'est-ce que je mets pour un nom de fichier? R.raw.snare ne fonctionne pas :( – user1033558

+0

@ user1033558 filaneme est une chaîne. Regardez ce que dit javadocs Utilisez http://developer.android.com/reference/android/content/res/Resources.html#openRawResource%28int % 29 pour lire la ressource –

Questions connexes