当前位置:编程学习 > JAVA >>

java音乐播放器代码,求大神来优化

import java.applet.*;
import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;


public class test extends Applet implements ItemListener{
Choice c = new Choice();
String onceFile;
AudioClip onceClip;
AudioClip stopClip;
AudioClip loopClip;
Button playOnce;
Button stopMusic;
Button playAlways;


public void init()
{
c.addItem("fire.au");
c.addItem("alarm.au");
c.addItemListener(this);
playOnce = new Button("Play!");
playAlways = new Button("Loop!");
stopMusic = new Button("Stop!");
add(c);  //添加(选择类choice)下拉选择清单
add(playOnce);
add(playAlways);
add(stopMusic);
onceFile = c.getItem(0);  //存放首个选项
onceClip = this.getAudioClip(getDocumentBase(), onceFile);
loopClip = this.getAudioClip(getDocumentBase(), onceFile);
stopClip = this.getAudioClip(getDocumentBase(), onceFile);
}


public void itemStateChanged(ItemEvent ie)
{
Choice ch = (Choice) ie.getSource();
System.out.println(ch.getSelectedItem());
onceFile = ch.getSelectedItem();
onceClip = this.getAudioClip(getDocumentBase(), onceFile);
loopClip = this.getAudioClip(getDocumentBase(), onceFile);
stopClip = this.getAudioClip(getDocumentBase(), onceFile);
}

public boolean action(Event event, Object arg)
{
if(event.target == playOnce)
{
//如果点击按钮""
if(onceClip != null)
{
onceClip.play();
showStatus("Playing sound" + onceClip + ".");
}
else
{
showStatus("Sound" + onceClip + "not loaded yet");
}

return true;
}

if(event.target == playAlways)
{
if(loopClip != null)
{
loopClip.loop();
showStatus("Playing sound" + onceClip + ".");
}
else
{
showStatus("Music can't play!");
}
return true;
}

//如果点击中按钮
if(event.target == stopMusic)
{
if(stopClip != null)
{
stopClip.stop();
showStatus("Stop sound" + onceClip + ".");
}
else
{
showStatus("Music can't stop!");
}
return true;
}


return false;
}
}

上面是一段简单的java代码..是音乐播放器...希望大神可以优化下
我最想优化的是
onceClip = this.getAudioClip(getDocumentBase(), onceFile);
loopClip = this.getAudioClip(getDocumentBase(), onceFile);
stopClip = this.getAudioClip(getDocumentBase(), onceFile);
怎么实现即使不拉动choice下拉也能触发.那样就不用重复写两次了

--------------------编程问答-------------------- 真想叫人优化,你要上传个可直接导入使用的测试用例,这样,测试的人,才会更直观的,看到问题,也好给你解决啊。
还有,发布代码最好要用格式化工具啊,这样代码也好阅读。
我就提这些,水平也有限,帮顶了,你重上传下代码或上传个用例到资源去,等高人给你优化吧。。。 --------------------编程问答-------------------- 顶2楼,等你更新
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,