Музыкальный файл работает нормально, когда я передаю URI, но не работает, когда я передаю путь String.Зачем? - PullRequest
0 голосов
/ 22 апреля 2019

Я делаю игру в стиле DJ MAX.

Я пытаюсь установить фоновую музыку для основного экрана игры, но здесь я обнаружил проблему.

Когда я передаю путь к файлу в виде URI или строки для создания экземпляра объекта File, обаотлично работает

Однако, когда я пытаюсь подключить объект File к FileInputStream, объект File, имеющий путь String, не работает (URI FILE WORKS PERFECT).Возникает ошибка «Система не может найти указанный путь».Я проверял несколько раз, но путь правильный.

Есть ли причина, по которой я должен передать путь к классу File в качестве URI?

Спасибо за вашу поддержку

Атрибуты

    public class Music extends Thread {
        private Player player;
        private boolean isLoop;
        private File file;
        private FileInputStream fis;
        private BufferedInputStream bis;

Передача пути в виде строки: не работает

   public Music(String name, boolean isLoop) {
            try {
                this.isLoop = isLoop;
                file = new File("../musics/adventuresHimitsu.mp3");         
                fis = new FileInputStream(file);        
                bis = new BufferedInputStream(fis);
                player = new Player(bis);
            }catch(Exception e) {
                System.out.println(e.getMessage());
            }
        }

Возникло сообщение об ошибке: .. \ musics \ adventuresHimitsu.mp3 (система не может найти указанный путь) null

Passingпуть как URI: Работает

    public Music(String name, boolean isLoop) {
    try {
        this.isLoop = isLoop;
        file = new File(Main.class.getResource("../musics/adventuresHimitsu.mp3").toURI());         
        fis = new FileInputStream(file);        
        bis = new BufferedInputStream(fis);
        player = new Player(bis);
    }catch(Exception e) {
        System.out.println(e.getMessage());
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...