Как я могу воспроизвести .mp3
и .wav
файл в моем приложении Java? Я использую Swing. Я попытался поискать в Интернете что-то вроде этого примера:
public void playSound() {
try {
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("D:/MusicPlayer/fml.mp3").getAbsoluteFile());
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
clip.start();
} catch(Exception ex) {
System.out.println("Error with playing sound.");
ex.printStackTrace();
}
}
Но это будет воспроизводить только .wav
файлы.
То же самое с:
http://www.javaworld.com/javaworld/javatips/jw-javatip24.html
Я хочу иметь возможность воспроизводить .mp3
файлы и .wav
файлы одним и тем же методом.
main
методе необходимо добавитьThread.sleep
, чтобы слышать звук, иначе программа завершится раньше, чем это произойдет. Полезный способ сделать это:Thread.sleep(clip.getMicrosecondLength() / 1000);
Ответы:
Java FX имеет
Media
иMediaPlayer
классы , которые будут играть в mp3 файлы.Пример кода:
Вам потребуются следующие операторы импорта:
источник
Media
иMediaPlayer
не являются Java - классы, но JavaFX классы. Чтобы добавить поддержку mp3 в Java в OS X или Windows, вы можете изучить SampledSP . И да - я написал эти библиотеки.Написал чистый java mp3-плеер: mp3transform .
источник
вы можете воспроизводить .wav только с помощью java API:
код:
И играть .mp3 с jLayer
источник
Я давно не использовал его, но JavaLayer отлично подходит для воспроизведения MP3.
источник
Используя стандартный API javax.sound, одну зависимость Maven, полностью открытый исходный код ( требуется Java 7 ):
pom.xml
Код
Ссылки:
источник
Я бы рекомендовал использовать BasicPlayerAPI. Это открытый исходный код, очень простой и не требует JavaFX. http://www.javazoom.net/jlgui/api.html
После загрузки и распаковки zip-файла в путь сборки проекта необходимо добавить следующие jar-файлы:
Вот минималистичный пример использования:
Обязательный импорт:
Это все, что вам нужно, чтобы начать играть музыку. Плеер запускает и управляет своим собственным потоком воспроизведения и обеспечивает функции воспроизведения, паузы, возобновления, остановки и поиска .
Для более продвинутого использования вы можете взглянуть на jlGui Music Player. Это клон WinAmp с открытым исходным кодом: http://www.javazoom.net/jlgui/jlgui.html
Первым классом, на который стоит обратить внимание, будет PlayerUI (внутри пакета javazoom.jlgui.player.amp). Он довольно хорошо демонстрирует расширенные возможности BasicPlayer.
источник
mp3spi1.9.4.jar
следует заменить на сmp3spi1.9.5.jar
сайта увеличения java.player.play()
иначе вы можете не услышать никакого звука.Самый простой способ, который я нашел, - это загрузить файл jar JLayer с http://www.javazoom.net/javalayer/sources.html и добавить его в библиотеку Jar http://www.wikihow.com/Add-JARs- to-Project-Build-Paths-in-Eclipse-% 28Java% 29
Вот код класса
а вот импорт
источник
Чтобы дать читателям другую альтернативу, я предлагаю библиотеку JACo MP3 Player, кроссплатформенный java mp3-плеер.
Особенности:
Полный список его методов и атрибутов вы можете найти в документации здесь. .
Образец кода:
Для получения более подробной информации, я создал простой учебник здесь , который включает загружаемый исходный код.
источник
Использование MP3 Decoder / player / converter Maven Dependency.
источник
Сначала вам необходимо установить JMF ( скачать по этой ссылке )
не забудьте добавить файлы JMF jar
источник
Поищите на freshmeat.net библиотеку JAVE (расшифровывается как Java Audio Video Encoder) (ссылка здесь ). Это библиотека для таких вещей. Я не знаю, есть ли в Java встроенная функция mp3.
Вам, вероятно, потребуется объединить функцию mp3 и функцию wav вместе, используя наследование и простую функцию-оболочку, если вы хотите, чтобы один метод запускал оба типа файлов.
источник
Чтобы добавить поддержку чтения MP3 в Java Sound, добавьте
mp3plugin.jar
JMF в путь к классу времени выполнения приложения.Обратите внимание, что у
Clip
класса есть ограничения памяти, которые делают его непригодным для более чем нескольких секунд высококачественного звука.источник
У меня есть другие методы для этого, первый из них:
А второй:
И если мы хотим сделать цикл для этого аудио, мы используем этот метод.
если мы хотим остановить этот цикл, мы добавляем эти библиотеки в попытку:
для этого третьего метода мы добавляем следующий импорт:
источник
Используйте эту библиотеку: import sun.audio. *;
источник