我正在开发一个初学java项目,我想要在打开java applet时正确播放声音。我已将.au文件放在“C:\ Program Files(x86)\ BlueJ”中 - 这是bluej exe的位置(我认为这是文件的正确位置,就像我在代码中调用它一样)。
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)
{
}
}
任何帮助都将不胜感激,谢谢。
答案 0 :(得分:1)
我在
"C:\Program Files (x86)\BlueJ"
中放了一个.au文件 - 这就是bluej exe所在的位置(我认为这是文件的正确位置,就像我在代码中调用它一样)。
你错了。提供applet页面的服务器无法访问“程序文件”目录,也不能访问applet。
getAudioClip(getDocumentBase(), "green day - brain stew.au");
这将导致JVM在 与HTML相同的目录中查找资源。
虽然方法调用可能正确地对空格字符进行URL编码,但它可能不太好,所以这样会更可靠。
getAudioClip(getDocumentBase(), "green%20day%20-%20brain%20stew.au");