Java 无法从输入文件获取音频输入流

Java 无法从输入文件获取音频输入流,java,mp3,Java,Mp3,我想在java中播放mp3文件。我正在使用一个代码,但显示异常无法从输入文件获取音频输入流。 我的源代码是: try { System.out.println("Start"); File f = new File("E:\\malayalam good song\\01_ISHTAMANU.MP3"); AudioInputStream audio = AudioSystem.getAudioInputStream(f); Sy

我想在
java
中播放
mp3
文件。我正在使用一个代码,但显示异常无法从输入文件获取音频输入流。 我的源代码是:

try {
        System.out.println("Start");
        File f = new File("E:\\malayalam good song\\01_ISHTAMANU.MP3");

        AudioInputStream audio = AudioSystem.getAudioInputStream(f);
        System.out.println("Start");
        AudioFormat format = audio.getFormat();
        DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);
        SourceDataLine  auline = (SourceDataLine) AudioSystem.getLine(info);
        auline.open(format);
        auline.start();
        int nBytesRead = 0;
        byte[] abData = new byte[524288];
        while (nBytesRead != -1) {
            nBytesRead = audio.read(abData, 0, abData.length);
            if (nBytesRead >= 0) {
                auline.write(abData, 0, nBytesRead);
            }
        }
    } catch (Exception E) {
        System.out.println("Exception"+E.getMessage());
    }

在类路径中添加mp3plugin.jar


如果您使用的是
Java7
,则有一些新的(
JavaFX
)类更易于使用:

import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
...
...

try {
        File f = new File("E:\\malayalam good song\\01_ISHTAMANU.MP3");
        Media hit = new Media(f.toURI().toString());
        MediaPlayer mediaPlayer = new MediaPlayer(hit);
        mediaPlayer.play();
    } catch(Exception ex) {
        ex.printStackTrace();
        System.out.println("Exception: " + ex.getMessage());
    }

如果您没有使用
Java7
,您可以从

中获取
JavaFX
JAR。您应该将wav音频文件转换为8khz、16位、单声道PCM的未压缩格式。然后它会工作。

您遇到了什么异常?“无法从输入文件中获取音频输入流”。这是新的异常“不支持行匹配接口源数据线支持格式MPEG1L3 44100.0 Hz,每个采样未知位,立体声,未知帧大小,未知帧速率”。请提供javafx的jar文件。@user3397667您可以从以下位置下载jar:我可以使用jar文件。但不能正常工作。显示“packge.javafx.scene.media不存在”,这意味着您没有设置正确的类路径。使用eclipse?新异常“媒体无法转换为布尔值”