Я новичок в программировании на Java/Android, поэтому, пожалуйста, проявляйте терпение со мной.Android Assets-Folder: всегда требуется первый файл по алфавиту.
Я пытаюсь воспроизвести mp3, который находится в папке с ресурсами. Я знаю, что есть другой способ с/res/raw/folder, но используйте папку assets, потому что позже я попытаюсь получить доступ к файлу с помощью String.
Этот код работает для воспроизведения mp3-файл:
try
{
MediaPlayer mp = new MediaPlayer();
FileDescriptor sfd = getAssets().openFd("song.mp3").getFileDescriptor();
mp.setDataSource(sfd);
mp.prepare();
mp.start();
}
catch(Exception e) {}
Теперь проблема: в том же активы-папки еще один mp3 файл, хранящийся. Хотя я указываю имя mp3, чтобы использовать его, возьмем тот, который идет первым в алфавите. Например. другой файл называется «music.mp3», он играет этот. Переименовав его в «worldmusic.mp3», он сыграет «song.mp3». Rerename «worldmusic.mp3» возвращается к «music.mp3», он снова получит этот mp3. Еще один тест: переименование «song.mp3» на что-то другое, чтобы приложение могло найти, что указано в коде выше, приведет к тому, что никакая песня не будет воспроизведена. Таким образом, это означает, что имя песни должно существовать, хотя сначала оно принимает произвольную песню в алфавите.
Я тестирую с помощью эмулятора AVD затмения. Но я думаю, что поведение будет таким же на реальном устройстве.
У кого-нибудь есть идея об этой проблеме?