Ho il codice seguente:
AssetFileDescriptor afd = getAssets().openFd("AudioFile.mp3");
player = new MediaPlayer();
player.setDataSource(afd.getFileDescriptor());
player.prepare();
player.start();
Il problema è che, quando eseguo questo codice, inizia a riprodurre tutti i file audio nella directory degli asset, in ordine alfabetico invece di riprodurre solo il file audio che ho richiesto. Che cosa sto facendo di sbagliato? C'è un modo migliore per riprodurre file audio dalla directory degli asset?
Domanda successiva: c'è differenza tra mantenere i file audio nella directory degli asset e mantenerli nella directory res / raw? Oltre al fatto che non ottengono gli ID se si trovano nella directory degli asset. Se sposto i file audio nella cartella res / raw, ho un problema con il riutilizzo di MediaPlayer
s perché non esiste un parametro id per setDataSource()
. Non riesco a trovare una buona linea guida per gestire questo tipo di problema.