我写的一个控制音乐播放的类
import java.applet.*;
import java.io.*;
import java.net.*;
public class AudioControl
{
protected File soundFile;
protected AudioClip theSound;
AudioControl(String file)
{
soundFile = new File(file);
}
AudioControl()
{
}
public void playloop()
{
theSound = null;
try
{
theSound = Applet.newAudioClip(soundFile.toURL());
}
catch(MalformedURLException e)
{
System.out.println(e);
}
theSound.loop();
}
public void playOnce()
{
theSound = null;
try
{
theSound = Applet.newAudioClip(soundFile.toURL());
}
catch(MalformedURLException e)
{
System.out.println(e);
}
theSound.play();
}
public void playstop()
{
theSound.stop();
}
}然后我在另外一个类里面创建了一个这个类的对象AudioControl audio=new AudioControl(),赋值后在刚启动程序时先播放音乐,连接两个JMenuItem,在actionPerformed里面写了
if(event.getSource()==JMI_MusicOn)
{
JMI_MusicOn.setEnabled(false);
JMI_MusicOff.setEnabled(true);
audio.playloop();
}
else if(event.getSource()==JMI_MusicOff)
{
JMI_MusicOn.setEnabled(true);
JMI_MusicOff.setEnabled(false);
audio.playstop();
}
但是,我在程序运行中按这两个键有时候有效,有时候失灵,一般我关掉音乐后需要重复几遍的打开关闭音乐才能再把音乐打开,求高人指点
import java.applet.*;
import java.io.*;
import java.net.*;
public class AudioControl
{
protected File soundFile;
protected AudioClip theSound;
AudioControl(String file)
{
soundFile = new File(file);
}
AudioControl()
{
}
public void playloop()
{
theSound = null;
try
{
theSound = Applet.newAudioClip(soundFile.toURL());
}
catch(MalformedURLException e)
{
System.out.println(e);
}
theSound.loop();
}
public void playOnce()
{
theSound = null;
try
{
theSound = Applet.newAudioClip(soundFile.toURL());
}
catch(MalformedURLException e)
{
System.out.println(e);
}
theSound.play();
}
public void playstop()
{
theSound.stop();
}
}然后我在另外一个类里面创建了一个这个类的对象AudioControl audio=new AudioControl(),赋值后在刚启动程序时先播放音乐,连接两个JMenuItem,在actionPerformed里面写了
if(event.getSource()==JMI_MusicOn)
{
JMI_MusicOn.setEnabled(false);
JMI_MusicOff.setEnabled(true);
audio.playloop();
}
else if(event.getSource()==JMI_MusicOff)
{
JMI_MusicOn.setEnabled(true);
JMI_MusicOff.setEnabled(false);
audio.playstop();
}
但是,我在程序运行中按这两个键有时候有效,有时候失灵,一般我关掉音乐后需要重复几遍的打开关闭音乐才能再把音乐打开,求高人指点
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货