我创建了一个< code >类来在我点击按钮时播放声音。
这是代码:
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
方法中时,似乎没有播放任何声音。
下面是< code>ButtonListener代码:
private class ButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if (replayButton == e.getSource())
{
playSound();
}
}
}
代码有什么问题?
编辑:
基本上我正在尝试创建一个简单的记忆游戏,我想在点击按钮时添加声音。
解决了的:
我从Soundjay下载的音频文件似乎出现了问题,因此无法播放该音频文件@_@
请问有堆栈跟踪吗???你给按钮添加监听器了吗???
无论如何,标准方法在跨平台定位时有一些错误。在http://www.oracle.com/technetwork/java/javase/tech/index-jsp-140239.html.使用Java媒体框架
这应该可行:
public class Test extends JFrame {
public static void main(String[] args) {
new Test();
}
public Test() {
JButton button = new JButton("play");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
playSound();
}});
this.getContentPane().add(button);
this.setVisible(true);
}
public void playSound() {
try {
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("beep.wav"));
Clip clip = AudioSystem.getClip( );
clip.open(audioInputStream);
clip.start( );
}
catch(Exception e) {
e.printStackTrace( );
}
}
}
请注意,在播放文件的过程中,GUI将不可响应。在你的听众中使用Joop埃根的方法来纠正这一点。它将异步播放文件。
SwingUtilities.invokeLater(new Runnable() {
public void run() {
playSound();
}
});
使用
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
playSound();
}
});
问题内容: 我已经看到,在其他类型的对话框窗口(例如“ showConfirmDialog”)中也可以做到这一点,在其中可以指定按钮的数量及其名称。但是使用“ showInputDialog”时是否可以实现相同的功能?我似乎在API中找不到这种类型的东西。也许我只是想念它,但是任何帮助都值得赞赏。 问题答案: 只需将自定义JPanel添加为消息即可:
我已经看到,这在其他类型的对话框窗口中是可能的,如“ShowConfirmDialog”,其中可以指定按钮的数量和它们的名称;但是在使用“ShowInputDialog”时是否可以实现相同的功能?我似乎在API中找不到这种类型的东西。也许我只是错过了,但任何帮助都很感激。
问题内容: 我有这个代码 它的工作原理,但不是我所期望的。声音会播放,但仅在我每次按下按钮时播放。我的主意是 当我按下按钮时,声音会播放,当我停止动作(手指在按钮之外)时,音乐会暂停。 有什么想法吗? 谢谢 问题答案: 这应该可以工作(我认为您的开关柜出了点问题):
在我的帐户页面/视图订阅中,在操作段落中,我有一个取消按钮,但没有挂起按钮。你知道这是否正常吗? 我跟踪了这个函数,它只返回取消数据:wcs_get_all_user_actions_for_subscription 谢谢你的帮助
我可以创建一个没有消极或积极按钮的对话框。这在特定行动后会摧毁它自己吗?
我正在使用C#和Selenium Web驱动程序。问题是我找不到一个没有ID值的开始按钮。 我为该对象找到的唯一标识符是'value=“74”‘文本。 按钮的HTML如下所示: driver.findElement(by.xpath(“(//input[@name='PRODUCT_ID'][@value='74'])”)).click(); 提前致谢