java怎么用鼠标单击事件加载音频 5

原题:编写音阶程序:要求包含7个按钮,当用户鼠标用左键单击这些按钮时能够分别发出不同音阶“Dou,Ruai,Mi,Fa,Sou,La,Xi”。就是卡在单击事件加载音频那里... 原题:编写音阶程序:要求包含7个按钮,当用户鼠标用左键单击这些按钮时能够分别发出不同音阶“Dou,Ruai,Mi,Fa,Sou,La,Xi”。
就是卡在单击事件加载音频那里过不去
展开
 我来答
雪飞潇潇
2018-12-17 · TA获得超过6273个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:827万
展开全部

Java对声音片段的播放, 一般可以使用两种方案

1: java.applet.AudioClip 该类可以实现对声音片段的播放

2:javafx.scene.media.AudioClip 类也可以实现对声音片段的播放

两种方法的参考代码如下   

**注意声音文件和代码在了同一个包内,如果包不同, 那么注意文件的路径

import java.awt.*;
import java.awt.event.*;
import java.net.URL;
import javax.swing.*;

public class SoundDemo extends JFrame {
private URL url;

public SoundDemo() {
JPanel jp = new JPanel();
JButton jb = new JButton("按钮");
jp.add(jb);

add(jp);
setSize(300, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);

//得到文件的url
try {
url = this.getClass().getResource("Note1.wav").toURI().toURL();
} catch (Exception ex) {
ex.printStackTrace();
}

jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//因为AudioClip类同名,为了区别,所以写的是完整的全限定名
//方法一: JavaFX的方式
javafx.scene.media.AudioClip au1 = new javafx.scene.media.AudioClip(url.toExternalForm());
au1.play();

//方法二: applet的方式
java.applet.AudioClip au2 = java.applet.Applet.newAudioClip(url);
au2.play();
}
});
}

public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
new SoundDemo().setVisible(true);
}
});
}
}
无野楼升域醉0t
2018-12-16 · TA获得超过8552个赞
知道小有建树答主
回答量:1498
采纳率:88%
帮助的人:487万
展开全部
音频是初始化时就加载好的 点击按钮只是调用播放的方法
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
痛苦途径
2018-12-16 · 超过36用户采纳过TA的回答
知道答主
回答量:159
采纳率:54%
帮助的人:21万
展开全部
是没有声音还是按键没反应
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式