2013-02-09 254 views
1

這裏夾線就是我using.I已經使用裁剪類發揮clip.Program已經沒有任何錯誤的編譯和運行正常,但我不能聽到聲音的代碼。的java:不工作

import java.io.File; 

import javax.sound.sampled.AudioInputStream; 
import javax.sound.sampled.AudioSystem; 
import javax.sound.sampled.Clip; 
import javax.sound.sampled.DataLine; 
import javax.sound.sampled.LineEvent; 
import javax.sound.sampled.LineListener; 


public class ClipTest { 

public static void main(String[] args) throws Exception { 


File soundFile = new File("./1.wav"); 
AudioInputStream sound = AudioSystem.getAudioInputStream(soundFile); 


DataLine.Info info = new DataLine.Info(Clip.class, sound.getFormat()); 
Clip clip = (Clip) AudioSystem.getLine(info); 
clip.open(sound); 


clip.addLineListener(new LineListener() { 
    public void update(LineEvent event) { 
    if (event.getType() == LineEvent.Type.STOP) { 
     event.getLine().close(); 
     System.exit(0); 
    } 
    } 
}); 


clip.start(); 
} 
}  
+0

請有看看我的帖子。它在我的機器 – 2013-02-09 08:49:57

回答

0

我只是嘗試你的代碼。我覺得你的錯誤是,你的文件IST空或不正確加載

我剛剛更換

File soundFile = new File("./1.wav"); 
AudioInputStream sound = AudioSystem.getAudioInputStream(soundFile); 

InputStream inRequest = this.getClass().getResourceAsStream("1.wav"); 
AudioInputStream sound = AudioSystem.getAudioInputStream(inRequest); 

這是新階級

public class ClipTest { 

    public void run() throws UnsupportedAudioFileException, IOException, LineUnavailableException { 
     InputStream inRequest = this.getClass().getResourceAsStream("batR.wav"); 
     AudioInputStream sound = AudioSystem.getAudioInputStream(inRequest); 

     DataLine.Info info = new DataLine.Info(Clip.class, sound.getFormat()); 
     Clip clip = (Clip) AudioSystem.getLine(info); 
     clip.open(sound); 

     clip.addLineListener(new LineListener() { 

      public void update(LineEvent event) { 
       if(event.getType() == LineEvent.Type.STOP) { 
        event.getLine().close(); 
        System.exit(0); 
       } 
      } 
     }); 

     clip.start(); 

    } 

    public static void main(String[] args) throws Exception { 
     ClipTest clipTest = new ClipTest(); 
     clipTest.run(); 

    } 
} 
+0

沒有好友上工作,你的代碼是不是也工作....但最後我想通了,在我的代碼的問題...和你的代碼有同樣的問題....我張貼的解決版本。 ...通過您的幫助方式日Thnx – user1678213 2013-02-09 09:19:52

+0

的代碼後我上面的電腦 – 2013-02-09 09:21:09

+0

上工作的100%,如果你的代碼是工作的機器,那麼你可能會使用JDK 1.4.2或更早的版本上。 – user1678213 2013-02-09 09:23:55