初学者Java小程序 - 无法获取声音文件进行播放

时间:2013-04-30 02:32:52

标签: java audio applet awt bluej

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

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

1 个答案:

答案 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");