JavaFX Audio Pathing - PullRequest
       24

JavaFX Audio Pathing

0 голосов
/ 28 ноября 2018

https://imgur.com/a/6gNa89z это приведет к моим проблемам

Я просто хочу воспроизвести некоторые аудиофайлы, когда в программе происходит какое-то действие.Проблема в том, что у меня и моей команды разные структуры папок после клонирования репо.Для меня мне нужно дать ему путь с SourceCode, и они нуждаются в этом без этого термина.И я бы предпочел передать на аутсорсинг папку ресурсов вне src.

Для меня код должен быть:

aux.playSound("SourceCode/AnwendungGruppeAfx/src/application/resources/systems-online.wav");

Но для них это должно быть как в примере вmain.java.В противном случае это приводит к ошибке: Причина: MediaException: MEDIA_UNAVAILABLE: C:\Users\david\git\Repo_Gruppe_A\AnwendungGruppeAfx\src\application\resources\systems-online.wav И для моих товарищей по команде они имеют ту же ошибку с сообщением SourceCode / SourceCode тогда.

AudioPlayer.java:

public class AudioPlayer {

    public void playSound(String file) {
        String musicFile = file;
        AudioClip audio = new AudioClip(new File(musicFile).toURI().toString());
        audio.play();
    }
}

Например, в Main.java при открытии программы:

public class Main extends Application {

    AudioPlayer aux = new AudioPlayer();

    @Override
    public void start(Stage primaryStage) throws Exception {
        aux.playSound("AnwendungGruppeAfx/src/application/resources/systems-online.wav");
        Parent root = FXMLLoader.load(getClass().getResource("/application/controller/LoginController/Login.fxml"));
        Scene scene = new Scene(root);

        primaryStage.getIcons().add(new Image("/application/resources/icons8-blockchain-technology-64.png"));
        primaryStage.setTitle("SemestervErwaltungsPlan");
        primaryStage.setResizable(false);
        primaryStage.setScene(scene);
        primaryStage.show();
    }
...