2012-02-06 4 views
6

Sto facendo qualche app di fantasia che richiede molti suoni brevi per il suo utilizzo. Hai poche domande a cui potresti essere in grado di rispondere.Dove memorizzare i file audio nel progetto e quale soluzione scegliere per memorizzare i riferimenti ad essi?

  • C'è qualche restrizione al punto in cui mi trovo quindi nel progetto Android? Attualmente inserisco quelli nella cartella bin/res/sounds.

  • C'è una restrizione al formato dei file ed è ok?

  • Avrò bisogno di qualcosa per memorizzare i riferimenti a quei suoni. Mi si avvicinò con un dizionario che consisterebbe di un nome di suono (chiave) e un percorso del file in modo da poter utilizzare in tale metodo:

    mp = MediaPlayer.create(Test.this, R.raw.mysound);

Come devo conservare R.raw. mysound, non è una stringa giusta?

Mi scuso Se non sono abbastanza chiaro su tutto, sto facendo del mio meglio. Cheers

risposta

5

Di solito, i suoni vengono memorizzati nella cartella raw nella cartella res (res/raw/mySound.wav). Questo dice al sistema operativo di non scherzare e basta copiarlo per te. Quindi puoi utilizzare la riga di codice che hai postato per caricarli.

Per quanto riguarda il formato .wav, funzionerà bene ma sarà molto grande.

Date un'occhiata a ciò che i formati audio Android supporta: http://developer.android.com/guide/appendix/media-formats.html

Il riferimento (vale a dire la R.raw.mySound) in un int. Quindi puoi semplicemente mappare una stringa a quella int se vuoi, ma è davvero molto più semplice dell'uso dell'id R.raw.mySound?

1

Non appartengono a/bin, perché è una directory di generazione prodotta automaticamente. Appartengono a/res/qualcosa, che potrebbe essere ciò che intendi.

R.raw.mysound è un int, come tutti i riferimenti R. *.

. I file wav sono soddisfacenti, anche se grandi. Qualsiasi altra cosa e dovrete verificare sia ciò che è stato supportato sulla vostra piattaforma di destinazione, sia se tutti i dispositivi sono in grado di supportarlo. Ad esempio, nei primi giorni di Android, la piattaforma specificava diversi tipi, ma alcuni erano opzionali e fino al dispositivo se lo supportavano. Per una lista completa vedi: http://developer.android.com/guide/appendix/media-formats.html