Audio-Datei aus dem Assets-Verzeichnis abspielen
Ich habe den 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 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 res / raw-Verzeichnis? 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 vonMediaPlayer
s weil es keinen id-Parameter für @ gisetDataSource()
. Ich kann keinen guten Leitfaden finden, um mit solchen Problemen umzugehen.