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 vonMediaPlayers weil es keinen id-Parameter für @ gisetDataSource(). Ich kann keinen guten Leitfaden finden, um mit solchen Problemen umzugehen.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage