Добавить mp3 файл в java - PullRequest
       7

Добавить mp3 файл в java

1 Ответ

0 голосов
/ 11 февраля 2019

Пожалуйста ... не размещайте изображения своего кода.Обидно думать, что кто-то захочет на самом деле напечатать ваш код, чтобы протестировать его, тогда как будет гораздо проще просто скопировать / вставить его.В любом случае ...

Вы получаете окно сообщения, которое просто отображает Error, потому что это то, что ваш код должен отображать при возникновении ошибки.Я должен сказать .... это не очень информативное описание того, что может быть ошибка, что довольно печально.Сделайте себе одолжение, и вместо того, чтобы просто «Ошибка» в диалоговом окне окна сообщений JOptionPane, попробуйте разместить (как минимум) e.getMessage () , который даст более точное указаниепроблемы, например:

JOptionPane.showMessageDialog(null, e.getMessage());

Не имеет значения, если вы новичок в программировании на Java, если вы собираетесь приступить к задаче по написанию кода для воспроизведения файлов MP3, тогда вам следуетпо крайней мере, научиться справляться с исключениями (ошибками).Эти исключения действительно помогают вам достичь успеха в вашем проекте, поэтому их детальное получение и принятие мер по исправлению представленных проблем гарантируют беспроблемное взаимодействие с пользователем.

Теперь, если вы сделали то, что было задано, и изменили свойЗатем JOptionPane запустит ваше приложение, и вы, скорее всего, получите сообщение, похожее на это:

Could not create Audio Stream from Input Stream.

Ну ... это немного более информативно в отношении проблемы, которая заключается в том, что AudioStream не поддерживает файлы MP3...bummer.WAV файлы да, но MP3 файлы НЕТ.Однако не стоит отказываться, поскольку есть альтернативы:

  1. Конвертируйте файлы MP3 в формат WAV, с которым AudioStream может работать.Вероятно, вы можете сделать это онлайн в Media IO ;
  2. Использовать JavaFX и класс javafx.scene.media.MediaPlayer .Вы можете найти пример здесь ;
  3. Используйте стороннюю библиотеку, такую ​​как JLayer от JavaZOOM, которая делает эту задачу чрезвычайно простой и работает довольно хорошо.Да, он старый, но все еще работает.Доступно несколько сторонних библиотек, чтобы ваше приложение Java могло воспроизводить аудиофайлы MP3, просто найдите их в Google.

Использование JLayer для воспроизведения аудиофайлов MP3 в 8 простых шагов:

Нет ... это не плагин для JLayer.Есть лотов примеров, доступных, чтобы показать вам, как использовать библиотеку JLayer, но я быстро покажу вам, как вы можете выполнить эту задачу:

  1. Сначала загрузите JLayer zip архив.Вы можете получить последнюю версию здесь и распаковать ее;
  2. Теперь скопируйте и вставьте файл библиотеки jl1.0.1.jar (расположенный в корневом каталоге распакованного архива) в безопасное место.Где бы вы ни хранили все свои сторонние библиотеки Java;
  3. Запустите новый проект приложения Java в вашей конкретной Java IDE и назовите его PlayMP3;
  4. Добавьте новый класс, который будет содержать метод main ()вам проект, а также назовите его PlayMP3.Среда IDE NetBeans делает это автоматически, когда вы создаете проект Java-приложения с помощью мастера создания проекта, и опция Создать основной класс отмечена;
  5. Применить библиотеку jl1.0.1.jar к вашему проекту вваша Java IDE.Для этого используйте любой метод, требуемый вашей конкретной IDE;
  6. Скопируйте / вставьте следующие импорты в ваш новый класс PlayMP3:

    import java.io.FileInputStream;
    import java.io.IOException;
    import javazoom.jl.decoder.JavaLayerException;
    import javazoom.jl.player.Player;
    
  7. Копировать /Вставьте следующий код в новый класс PlayMP3 main () метод:

    try {
        // Try With resources used here to auto close the FileInputStream
        try (FileInputStream fis = new FileInputStream("C:\\PathTo\\YourSong.mp3")) {
            Player player = new Player(fis);
            System.out.println("YourSong.mp3 is now Playing....");
            player.play();
            System.out.println("YourSong.mp3 is now FINISHED Playing!");
        }
        catch (IOException ex) {
            ex.printStackTrace();
        }
    }
    catch (JavaLayerException ex) {
        ex.printStackTrace();
    }
    
  8. Убедитесь, что громкость увеличена.Запустите приложение проекта.Подождите секунду или две, пока ваша песня будет записана. Наслаждайтесь.

В качестве примечания, ваше воспроизведение MP3 должно быть выполнено в его собственном потоке, чтобы не связывать EDT (Поток отправки событий)) в противном случае код вашего приложения не будет продолжаться после вызова метода play (), по крайней мере, до тех пор, пока песня не закончится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...