Воспроизведение mp3-файлов из Swing с помощью JavaFX

#java #swing #javafx

#java #swing #javafx

Вопрос:

У меня есть приложение Swing, и теперь я хочу воспроизвести некоторые звуковые файлы. Я думаю, что лучший способ (без использования внешних библиотек) использовать JavaFX.

Итак, я попытался вызвать метод из swing, но я застрял в различных ошибках. Затем я нашел способ больше не получать ошибок, но он воспроизводит файл только полсекунды.

 public static void initBackgroundSound() {
    final JFXPanel fxPanel = new JFXPanel();
    Platform.runLater(new Runnable() {
        @Override public void run() {  
            String bip = "fox.mp3";
            Media media = new Media(new File(bip).toURI().toString());

            final MediaPlayer player = MediaPlayerBuilder.create()
                .media(media).build();
            player.play();
        }
    });
}
  

Пожалуйста, помогите.

Ответ №1:

Когда я запускаю следующий код, я могу воспроизводить полноформатный звук:

 MediaPlayer player;
Media audioFile = new Media(new File("FILEPATH").toURI().toString());
player = new MediaPlayer(audioFile);
player.play();
  

Комментарии:

1. Вы использовали Platform.runLater или просто запустили эти четыре строки сами по себе?