Java小程序drumkit
您好,我正在尝试获取一个我在网上找到的java鼓工具包程序,因为我认为使用它会很有趣,但是当我编译代码时,小程序会出现按钮,但不会播放声音。我不知道这是为什么,我想知道我是否可以得到帮助修复它。我是一个初学者,所以如果你知道如何解决这个问题,请用外行的术语解释。此外,我确实在包含java文件和Java小程序drumkit,java,applet,Java,Applet,您好,我正在尝试获取一个我在网上找到的java鼓工具包程序,因为我认为使用它会很有趣,但是当我编译代码时,小程序会出现按钮,但不会播放声音。我不知道这是为什么,我想知道我是否可以得到帮助修复它。我是一个初学者,所以如果你知道如何解决这个问题,请用外行的术语解释。此外,我确实在包含java文件和html文件的文件中包含了所有声音,因此我知道现在的问题是声音不存在 这是代码 import java.awt.*; import java.applet.*; import java.awt.event.
html
文件的文件中包含了所有声音,因此我知道现在的问题是声音不存在
这是代码
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import javax.swing.*;
public class FinalProjectst extends JApplet {
private JButton snareButton;
private JButton hiHatButton;
private JButton bassButton;
private JButton cymbalsButton;
private AudioClip snare;
private AudioClip hiHat;
private AudioClip bass;
private AudioClip cymbals;
public void init() {
setLayout (new FlowLayout());
sampleButtons();
snare = getAudioClip(getDocumentBase(), "Snare.wav");
hiHat = getAudioClip(getDocumentBase(), "HiHat.wav");
bass = getAudioClip(getDocumentBase(), "Kick.wav");
cymbals = getAudioClip(getDocumentBase(), "Crash.wav");
}
private void sampleButtons() {
snareButton = new JButton("Snare");
hiHatButton = new JButton("Hi Hat");
bassButton = new JButton("Kick");
cymbalsButton = new JButton("Cymbals");
snareButton.addActionListener(new ButtonListener());
hiHatButton.addActionListener(new ButtonListener());
bassButton.addActionListener(new ButtonListener());
cymbalsButton.addActionListener(new ButtonListener());
add(snareButton);
add(hiHatButton);
add(bassButton);
add(cymbalsButton);
}
private class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (e.getSource() == snareButton)
snare.play();
if (e.getSource() == hiHatButton)
hiHat.play();
if (e.getSource() == bassButton)
bass.play();
if (e.getSource() == cymbalsButton)
cymbals.play();
}
}
}
由于
getAudioClip(getDocumentBase(),“Snare.wav”)代码>
根据JavaDocgetDocumentBase()
返回包含文件名的完整路径,而上面的getAudioClip
需要“URL
表示音频剪辑的基本位置”
因此,您可以尝试getCodeBase()
而不是getDocumentBase()
您的项目路径中有音频文件吗?
snare = getAudioClip(getCodeBase(), "Snare.wav");
hiHat = getAudioClip(getCodeBase(), "HiHat.wav");