我有一个小程序应该在点击时发出声音,但它不起作用。如果有人能够指出代码的错误
,那将会非常有用 AudioClip soundFile1;
AudioClip soundFile2;
public void init()
{
soundFile1 = getAudioClip(getDocumentBase(),"volcanoe.au");
soundFile2 = getAudioClip(getDocumentBase(),"volcanoe.au");
addMouseListener(this);
setBackground(Color.yellow);
soundFile1.play();
}
public void paint(Graphics g)
{
g.drawString("Click to hear a sound",20,20);
}
public void mouseClicked(MouseEvent evt)
{
soundFile2.play();
}
public void mousePressed(MouseEvent evt) {}
public void mouseReleased(MouseEvent evt) {}
public void mouseEntered(MouseEvent evt) {}
public void mouseExited(MouseEvent evt) {}
答案 0 :(得分:1)
我在我的电脑上运行了你的代码,它运行得很好。存储在 soundFile1 中的音频剪辑在运行小程序时开始播放,单击鼠标时,已播放的音频停止, soundFile2 中的新音频剪辑开始播放。我使用 .wav 和 .au 文件测试了该程序。您的案例中的问题可能是以下之一:
applet的 .class 文件所在的目录中缺少音频文件。音频文件应该出现在您正在处理的当前项目的目录中。
当前目录中存在的 .au 文件有问题。使用其他文件格式(例如 .wav )或其他 .au 文件测试小程序。
计算机的音频编解码器出了问题。在互联网上查找以修复音频编解码器。
尝试重新安装JDK。正如@Tbtimber所述,请尝试使用getCodeBase()
代替getDocumentBase()
。如果可行,则更新/重新安装JDK。
答案 1 :(得分:0)
创建AudioClip时,请尝试使用getCodeBase()
代替getDocumentBase()
。