Играя .mp3 и .wav в Java? - PullRequest
       47

Играя .mp3 и .wav в Java?

103 голосов
/ 18 мая 2011

Как я могу воспроизвести файл .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 одним и тем же способом.

Ответы [ 13 ]

0 голосов
/ 06 июля 2019

Использование MP3-декодера / проигрывателя / конвертера Maven Dependency.

import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.player.Player;

import java.io.FileInputStream;
import java.io.FileNotFoundException;

public class PlayAudio{

public static void main(String[] args) throws FileNotFoundException {

    try {
        FileInputStream fileInputStream = new FileInputStream("mp.mp3");
        Player player = new Player((fileInputStream));
        player.play();
        System.out.println("Song is playing");
        while(true){
            System.out.println(player.getPosition());
        }
    }catch (Exception e){
        System.out.println(e);
    }

  }

}
0 голосов
/ 24 апреля 2018

Используйте эту библиотеку: import sun.audio. *;

public void Sound(String Path){
    try{
        InputStream in = new FileInputStream(new File(Path));
        AudioStream audios = new AudioStream(in);
        AudioPlayer.player.start(audios);
    }
    catch(Exception e){}
}
0 голосов
/ 19 мая 2011

Чтобы добавить поддержку чтения MP3 в Java Sound, добавьте mp3plugin.jar JMF к пути класса приложения во время выполнения.

Обратите внимание, что класс Clip имеет ограничения памяти, которые делают егоне подходит для более чем нескольких секунд высококачественного звука.

...