Ich habe folgenden Code:
AssetFileDescriptor afd = getAssets().openFd("AudioFile.mp3");
player = new MediaPlayer();
player.setDataSource(afd.getFileDescriptor());
player.prepare();
player.start();
Das Problem ist, dass beim Ausführen dieses Codes alle Audiodateien im Assets-Verzeichnis in alphabetischer Reihenfolge abgespielt werden, anstatt nur die von mir angeforderte Audiodatei abzuspielen. Was mache ich falsch? Gibt es eine bessere Möglichkeit, Audiodateien aus dem Assets-Verzeichnis abzuspielen?
Folgefrage: Gibt es einen Unterschied zwischen der Speicherung von Audiodateien im Assets-Verzeichnis und der Speicherung im Verzeichnis res / raw? Abgesehen von der Tatsache, dass sie keine IDs erhalten, wenn sie sich im Assets-Verzeichnis befinden. Wenn ich die Audiodateien in den Ordner res / raw verschiebe, habe ich ein Problem mit der Wiederverwendung von MediaPlayer
s, da es keinen ID-Parameter für gibt setDataSource()
. Ich kann keine gute Richtlinie für den Umgang mit solchen Problemen finden.