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?新异常“媒体无法转换为布尔值”