0

好的,代码如下:

    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 类有一些问题。可以吗?

谢谢。米格尔·安德烈。

4

1 回答 1

0

我猜您正在尝试播放 mp3 文件。Java 本身不支持 mp3。您的代码只能播放 wave(*.wav) 文件。JavaFX 支持开箱即用的 mp3。Java 使用外部插件(JMFFMJJLayer ..)支持 MP3

于 2013-07-20T20:08:07.750 回答