在Java應用程序中,怎麼可能輸出音頻的油漆的功能?我試過這段代碼:Java的音頻塗料功能
public static void Player(String audioname){ //For audio
InputStream in = null;
try{
in = new FileInputStream (new File (audioname));
}
catch (FileNotFoundException e){
System.err.print("Audio file not found!");
}
try{
as = new AudioStream (in);
}
catch (IOException e){
System.err.print("AudioStream couldn't be created!");
}
}
////////////////////////////////////////////////////////////////
try{
Player(name);
AudioPlayer.player.start(as);
} catch(Exception f){
System.err.print("Audio couldn't be played!");
}
...但是玩家被抓到Exception f catch語句。我也試着將其放置在不同的地方(如一個獨立的方法油漆通話,但它仍然無法正常工作的任何幫助
編輯:?
class playAudio implements Runnable{
public void run(){
try{
Player("countdown.wav");
AudioPlayer.player.start(as);
} catch(Exception f){
System.err.print("Audio couldn't be played!");
}
}
}
///////////////////////////////////////
public void paint(Graphics g){ //Draw function
Graphics2D g2d = (Graphics2D) g;
///////////////////////////////////
Thread audioThrd = new Thread(new playAudio());
audioThrd.start();
}
在這裏,我添加了一個線程播放音頻文件,但「音頻無法播放!」還表示,我在做什麼錯在這裏?
'「......在油漆功能輸出音頻?」「 - 這種說法並不完全意義的我。改變你的catch塊打印堆棧跟蹤,'f.printStackTrace()',並向我們顯示輸出。你可能會在錯誤的地方尋找hte文件。 –
我的第一印象是,不要。 'paint'應該儘可能快地完成,不應該試圖加載資源...... – MadProgrammer
'public void paint(Graphics g){...}' – Avadonia