2013-04-30 31 views
0

我正在學習一個初學java項目,並且當您打開java小程序時我想要一個正確的聲音。我已將.au文件放在「C:\ Program Files文件(x86)\ BlueJ」中 - 這是bluej exe文件的位置(我認爲這是我在代碼中調用它的正確位置)。初學Java Applet - 無法獲取播放的聲音文件

import java.awt.*; 
import java.applet.*; 
import javax.swing.*; 
import java.awt.event.*; 
import java.awt.event.KeyListener; 
import java.awt.event.KeyEvent; 


public class guitarGame extends Applet implements ActionListener, KeyListener { 
AudioClip brainStew; 
Timer timer = new Timer (1000, this); 

public void init(){ 
    brainStew = getAudioClip(getDocumentBase(), "green day - brain stew.au"); 
    brainStew.play(); 

} 

public void keyReleased(KeyEvent ae){} 

public void keyPressed(KeyEvent ae){ 

    repaint(); 
} 

public void keyTyped(KeyEvent ae){} 

public void actionPerformed (ActionEvent ae){} 
public void paint (Graphics g) 
{ 
} 
} 

任何幫助,將不勝感激,謝謝。

回答

1

我已經把一個.AU文件"C:\Program Files (x86)\BlueJ" - 這是BlueJ的exe文件是(我估計是文件我把它在我的代碼的方式,正確的位置)。

你想錯了。您的'程序文件'目錄不能被提供applet頁面的服務器訪問,也不能訪問applet。

getAudioClip(getDocumentBase(), "green day - brain stew.au"); 

這將導致JVM尋找在同一目錄中的HTML資源。

雖然方法調用可能會正確地對空格字符進行URL編碼,但它可能不太好,所以這樣做會更可靠。

getAudioClip(getDocumentBase(), "green%20day%20-%20brain%20stew.au"); 
+0

我運行該applet從BlueJ的直我不在線上傳(爲什麼我認爲我可以打電話給音頻文件我做的方式),但無論如何,我改變了代碼,並運行時,仍然沒有音頻文件播放小程序。 – user2333960 2013-04-30 02:41:55

+0

*「我正在從bluej直接運行此applet」*然後您需要a)弄清楚BlueJ設置爲應用程序的「根」。或者b)停止使用BlueJ來測試applet,而是使用一些簡單的HTML&applet查看器。 - 由於我不支持BlueJ,並且很少有人回覆applet的問題,所以我建議使用策略(b)。 – 2013-04-30 02:47:29

+0

我接受了你的建議,找到了bluej的根,並把我的音頻文件放在那裏,它工作。謝謝! – user2333960 2013-04-30 03:19:51