初学Java Applet - 无法获取播放的声音文件

问题描述:

我正在学习一个初学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) 
{ 
} 
} 

任何帮助,将不胜感激,谢谢。

我已经把一个.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