Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java小程序drumkit_Java_Applet - Fatal编程技术网

Java小程序drumkit

Java小程序drumkit,java,applet,Java,Applet,您好,我正在尝试获取一个我在网上找到的java鼓工具包程序,因为我认为使用它会很有趣,但是当我编译代码时,小程序会出现按钮,但不会播放声音。我不知道这是为什么,我想知道我是否可以得到帮助修复它。我是一个初学者,所以如果你知道如何解决这个问题,请用外行的术语解释。此外,我确实在包含java文件和html文件的文件中包含了所有声音,因此我知道现在的问题是声音不存在 这是代码 import java.awt.*; import java.applet.*; import java.awt.event.

您好,我正在尝试获取一个我在网上找到的java鼓工具包程序,因为我认为使用它会很有趣,但是当我编译代码时,小程序会出现按钮,但不会播放声音。我不知道这是为什么,我想知道我是否可以得到帮助修复它。我是一个初学者,所以如果你知道如何解决这个问题,请用外行的术语解释。此外,我确实在包含java文件和
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”)

根据JavaDoc
getDocumentBase()
返回包含文件名的完整路径,而上面的
getAudioClip
需要“
URL
表示音频剪辑的基本位置”

因此,您可以尝试
getCodeBase()
而不是getDocumentBase()


您的项目路径中有音频文件吗?
snare = getAudioClip(getCodeBase(), "Snare.wav");
hiHat = getAudioClip(getCodeBase(), "HiHat.wav");