java怎么用鼠标单击事件加载音频 5
原题:编写音阶程序:要求包含7个按钮,当用户鼠标用左键单击这些按钮时能够分别发出不同音阶“Dou,Ruai,Mi,Fa,Sou,La,Xi”。就是卡在单击事件加载音频那里...
原题:编写音阶程序:要求包含7个按钮,当用户鼠标用左键单击这些按钮时能够分别发出不同音阶“Dou,Ruai,Mi,Fa,Sou,La,Xi”。
就是卡在单击事件加载音频那里过不去 展开
就是卡在单击事件加载音频那里过不去 展开
3个回答
展开全部
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);
}
});
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询