标题:[求助]用java播放音乐 在切换音乐的时候 怎么让前一首停止(见代码)
只看楼主
jrunner
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-12-9
 问题点数:0 回复次数:8 
[求助]用java播放音乐 在切换音乐的时候 怎么让前一首停止(见代码)

用java播放音乐 在切换音乐的时候 怎么让前一首停止

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.*;
import java.applet.*;
import java.net.*;
public class musicMenu extends JMenu{
JCheckBoxMenuItem [] MusicList;
ButtonGroup b;
public musicMenu()
{
// 音乐菜单
this.setText("音乐(M)");
this.setMnemonic (KeyEvent.VK_M);
/* URL file=getClass().getResource("music/爱的代价.mid");
AudioClip sound=java.applet.Applet.newAudioClip(file);
sound.play();*/
MainFrame.bar.add(this);
init();
addListener();
}

//添加监听器
private void addListener(){
MusicList[0].addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {
// TODO 自动生成方法存根
if(e.getSource()==MusicList[0]){
URL file=getClass().getResource("music/爱的代价.mid");
AudioClip sound=java.applet.Applet.newAudioClip(file);
sound.play();
}
}

});


MusicList[1].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(e.getSource()==MusicList[1]){
URL file=getClass().getResource("music/爱的就是你.mid");
AudioClip sound=java.applet.Applet.newAudioClip(file);
sound.play();
}
}
});
MusicList[2].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(e.getSource()==MusicList[2]){
URL file=getClass().getResource("music/当你孤单你会想起谁.mid");
AudioClip sound=java.applet.Applet.newAudioClip(file);

sound.play();
}
}
});
MusicList[3].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(e.getSource()==MusicList[3]){
URL file=getClass().getResource("music/第一次.mid");
AudioClip sound=java.applet.Applet.newAudioClip(file);

sound.play();
}
}
});
MusicList[4].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(e.getSource()==MusicList[4]){
URL file=getClass().getResource("music/七里香-钢琴版.mid");
AudioClip sound=java.applet.Applet.newAudioClip(file);

sound.play();
}
}
});
MusicList[5].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(e.getSource()==MusicList[5]){
URL file=getClass().getResource("music/盛夏的果实.mid");
AudioClip sound=java.applet.Applet.newAudioClip(file);

sound.play();
}
}
});
MusicList[6].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(e.getSource()==MusicList[6]){
URL file=getClass().getResource("music/唯一.mid");
AudioClip sound=java.applet.Applet.newAudioClip(file);

sound.play();
}
}
});
MusicList[7].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(e.getSource()==MusicList[7]){
URL file=getClass().getResource("music/");
AudioClip sound=java.applet.Applet.newAudioClip(file);
sound.stop();
}
}
});
}

//初始化面板
private void init(){
MusicList=new JCheckBoxMenuItem[8];
b=new ButtonGroup();
for(int i=0;i<8;i++)
{
MusicList[i]=new JCheckBoxMenuItem();
b.add(MusicList[i]);
this.add(MusicList[i]);

}
MusicList[0].setText("爱的代价");
MusicList[0].setToolTipText("梁咏琪");
MusicList[1].setText("爱的就是你");
MusicList[1].setToolTipText("王力宏");
MusicList[2].setText("当你孤单你会想起谁");
MusicList[2].setToolTipText("张栋梁");
MusicList[3].setText("第一次");
MusicList[3].setToolTipText("光良");
MusicList[4].setText("七里香");
MusicList[4].setToolTipText("周杰伦");
MusicList[5].setText("盛夏的果实");
MusicList[5].setToolTipText("莫文蔚");
MusicList[6].setText("唯一");
MusicList[6].setToolTipText("王力宏");
MusicList[7].setText(" i am woring now");
MusicList[7].setToolTipText("No music");

MusicList[7].setSelected(true);
}
}


搜索更多相关主题的帖子: java 音乐 import awt event 
2007-04-23 21:28
a276202460
Rank: 2
等 级:新手上路
威 望:4
帖 子:392
专家分:1
注 册:2007-4-10
得分:0 
天啊 监听事件写的这么多。。给你提个意见吧 JComboBox 里面加一月名 用一个事件选择里面的内容 URL 改为URL file=getClass().getResource("music/"+JComboBox.getItem().toString+".mid"); 一句话就可以选择了吧 换音乐先Stop在loop就行吧 JComboBox获得当前索引的Item不知道具体是哪个方法自己查下API就能找到了 网吧机器上没有API所以没看:)

2007-04-24 11:50
疯仁一踩
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2007-2-24
得分:0 
AudioClip类中有stop()方法
可以调用

2007-04-24 11:59
jrunner
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-12-9
得分:0 
回复:(a276202460)天啊 监听事件写的这么多。。给你...
什么意思?加一个月名???糊涂了

THE TRUE TEST OF A MAN\'S CHARACTER IS WHAT HE DOES WHEN NO ONE IS WATCHING
2007-04-24 12:29
a276202460
Rank: 2
等 级:新手上路
威 望:4
帖 子:392
专家分:1
注 册:2007-4-10
得分:0 

楼上问的是什么啊......
是事件处理的时候你写的太多了 要是有100个音乐名 怎么办写100个事件吗?要是少的话就用JCombobox 多的话就用JList 用里面的内容就性了 都有接口看下API就知道了 只是改变url内容就行了 都是用的selectLister好像,选那个url内容就改变 在改变前stop 重新定义了url后loop 音乐就改变了 不用写那么多事件 自己好好研究下 在弄不明白我在给你写下


2007-04-24 17:40
jrunner
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-12-9
得分:0 
回复:(a276202460)楼上问的是什么啊......是事件处...
貌似还是有点糊涂...我明白你的意思是我不应该写那么多监听器

THE TRUE TEST OF A MAN\'S CHARACTER IS WHAT HE DOES WHEN NO ONE IS WATCHING
2007-04-26 19:23
神vLinux飘飄
Rank: 1
等 级:新手上路
威 望:1
帖 子:309
专家分:0
注 册:2007-1-27
得分:0 

用一个监听来监听的意思


泛出微微的蓝色的光,像有生命般涌动着,闪烁着,平滑而优美,达到了机械和美学结合的最高境界
2007-04-27 11:28
jrunner
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-12-9
得分:0 
是啊 用一个监听 然后那个url怎么换?
能不能具体点 谢

THE TRUE TEST OF A MAN\'S CHARACTER IS WHAT HE DOES WHEN NO ONE IS WATCHING
2007-04-27 11:35
jrunner
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-12-9
得分:0 
还没解决呢~~~帮忙啊
谢了

THE TRUE TEST OF A MAN\'S CHARACTER IS WHAT HE DOES WHEN NO ONE IS WATCHING
2007-05-04 00:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-134358-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.249743 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved