Java没有为按钮播放声音

标签 java audio jbutton

我创建了一个来在我点击按钮时播放声音。

代码如下:

public void playSound()
    {
        try 
        {
            AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("beep-1.wav"));
            Clip clip = AudioSystem.getClip( );
            clip.open(audioInputStream);
            clip.start( );
        }
        catch(Exception e)
        {
            System.out.println("Error with playing sound.");
        }
    }

当我想在 ButtonListener 方法中实现它时,好像没有声音播放。

这里是 ButtonListener 代码:

private class ButtonListener implements ActionListener
    {
        public void actionPerformed(ActionEvent e) 
        {
            if (replayButton == e.getSource()) 
            {
                playSound();
            }
        }
    }

代码有什么问题?

编辑:

基本上我正在尝试创建一个简单的内存游戏,并且我想在单击按钮时为按钮添加声音。

已解决:

好像是我从Soundjay下载的音频文件有问题,因此无法播放音频文件。 @_@

最佳答案

使用

SwingUtilities.invokeLater(new Runnable() {
    @Override
    public void run() {
        playSound();
    }
});

关于Java没有为按钮播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10570537/

相关文章:

javascript - 如何快速改变演奏音调的频率而不会发出crack啪声?

java - 为什么网格布局中不显示按钮?

java - 在 Java GUI 中绘制 JButton[][] 网格

java - 如何在 JPA Eclipselink 中获得 MappedSuperType 类的列表?

Javascript 音频 API : onaudioprocess not fired

matlab - 如何找到周期性声音信号的频率?

java - 向 JButton 添加 Icon 而不改变其大小

java - repaint() JFrame 和 JPanel

java - JPanel 中的图像没有立即出现

java - 为什么使用 ThreadLocalRandom 类成员时总是得到相同的结果?