好的,代码如下:
import java.io.*;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import sun.audio.*;
public class Sound {
public static void main ( String Args[]){
JFileChooser openf =new JFileChooser();
openf.showOpenDialog(null);
File fl= openf.getSelectedFile();
String sound = fl.getAbsolutePath();
JOptionPane.showMessageDialog(null, sound);
InputStream in;
try{
in = new FileInputStream(sound);
AudioStream audio = new AudioStream(in);
AudioPlayer.player.start(audio);
}catch(Exception e){
JOptionPane.showMessageDialog(null, e.toString());
}
}
}
我正在使用此应用程序以允许选择音频文件(通过 jfilechooser),例如:mp3、wma 或 wav 进行复制。
我一直遇到的异常如下:'java.io.IOException:无法从输入流创建音频流'。
我在其他地方听说我正在导入的一些 sun.audio 类有一些问题。可以吗?
谢谢。
米格尔·安德烈。
最佳答案
我猜您正在尝试播放 mp3 文件。 Java 本身不支持 mp3。您的代码只能播放 wave(*.wav) 文件。 JavaFX 支持开箱即用的 mp3。 Java 通过使用外部插件支持 MP3(JMF、FMJ、JLayer ..)
关于audio - 在 netbeans 中再现使用 jfilechooser 选择的音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17759324/