2013-07-20 54 views
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类即时导入有一些问题。那可能吗?

谢谢。 MiguelAndré。

回答

0

我想你正试图播放一个mp3文件。 Java本身不支持mp3。您的代码只能播放波形(* .wav)文件。 JavaFX支持MP3即装即用。 Java支持使用外部插件的MP3(JMF,FMJ,JLayer ..)

+0

谢谢。它帮助了很多。 – user2601543