2014-07-14 64 views
0

我發現此TestCode在http://www.tutorials.de/threads/java-einen-sound-abspielen.17178/ 它在OSX上工作,但不在我的PC Win7上。 Win7上的Sound API有沒有問題? 我有幾個安裝的聲音設備(整合和FireWire AudioInterface),並嘗試兩個並沒有聽到任何聲音。Windows 7上的Java Sound API

import javax.sound.sampled.*; 
import java.io.*; 

/* 
* SoundTest.java 
* 
* Created on 1. August 2003, 21:06 
*/ 

/** 
* 
* @author Administrator 
*/ 
public class SoundTest { 

    /** Creates a new instance of SoundTest */ 
    public SoundTest() { 
    } 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 

     try{ 
      AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("sample.wav")); 
      AudioFormat af  = audioInputStream.getFormat(); 
      int size  = (int) (af.getFrameSize() * audioInputStream.getFrameLength()); 
      byte[] audio  = new byte[size]; 
      DataLine.Info info  = new DataLine.Info(Clip.class, af, size); 
      audioInputStream.read(audio, 0, size); 

      // for(int i=0; i < 32; i++) { 
       Clip clip = (Clip) AudioSystem.getLine(info); 
       clip.open(af, audio, 0, size); 
       clip.start(); 
      // } 
     }catch(Exception e){ e.printStackTrace(); } 

    } 

} 

感謝您的回覆!

J

回答

0

你舉了一個壞例子,那是從兩種不同的方法混合代碼(自己讀取audiostream與讓剪輯處理流)。

這裏的最佳答案How can I play sound in Java?顯示瞭如何通過剪輯播放。

1

如果您使用的是Java 7,我推薦使用JavaFX API。它們在各個平臺上更先進和兼容。在任何人詢問之前,您在使用JavaFX時並不侷限於網絡。