Mam następujący kod:
AssetFileDescriptor afd = getAssets().openFd("AudioFile.mp3");
player = new MediaPlayer();
player.setDataSource(afd.getFileDescriptor());
player.prepare();
player.start();
Problem polega na tym, że kiedy uruchamiam ten kod, zaczyna on odtwarzać wszystkie pliki audio w katalogu zasobów, w kolejności alfabetycznej, zamiast po prostu odtwarzać plik audio, o który prosiłem. Co ja robię źle? Czy istnieje lepszy sposób odtwarzania plików audio z katalogu zasobów?
Pytanie uzupełniające: czy istnieje różnica między przechowywaniem plików audio w katalogu zasobów a przechowywaniem ich w katalogu res / raw? Poza tym, że nie otrzymują identyfikatorów, jeśli znajdują się w katalogu zasobów. Jeśli przenoszę pliki audio do folderu res / raw, to mam problem z ponownym użyciem MediaPlayer
s, ponieważ nie ma parametru id dla setDataSource()
. Nie mogę znaleźć dobrych wskazówek, jak radzić sobie z tego rodzaju problemem.