📄 midiplayer.java
字号:
package pushbook.core;
import java.applet.Applet.*;
import java.applet.*;
/**
* <p>Title: 推箱子</p>
* <p>Description: Midi音乐播放类</p>
* <p>Copyright: 无版权</p>
* <p>Company: 吉林省前郭尔罗斯蒙古族自治县第五高级中学</p>
* @author 郑雪
* @version 1.0
*/
public class MidiPlayer
{
private AudioClip clip = null; //MIDI文件夹
private boolean autoStart = true; //自动开始播放标志
private String filename = ""; //媒体文件名
private static MidiPlayer MP = null; //播放器对象
/**
* 构造器,私有为了保证单例
* @param file String 媒体文件名
*/
private MidiPlayer(String file)
{
try
{
filename = file;
clip = Applet.newAudioClip(getClass().getResource(filename));
if (autoStart)
clip.loop();
}
catch(Exception e){/*吃掉所有异常*/}
}
/**
* 取得播放器的实例
* @param file String 媒体文件名
* @return MidiPlayer 播放器
*/
public static MidiPlayer getInstance(String file)
{
if(MP == null)
{
MP = new MidiPlayer(file);
MP.setAutoStart(true);
}
return MP;
}
/**
* 开始播放
*/
public void start()
{
if(clip != null)
{
clip.stop();
clip.loop();
}
}
/**
* 停止播放
*/
public void stop()
{
if(clip != null)
{
clip.stop();
}
}
/**
* 更换媒体文件
* @param newfile String 文件名
*/
public void changeFile(String newfile)
{
try
{
filename = newfile;
clip.stop();
clip = Applet.newAudioClip(getClass().getResource(filename));
if (autoStart)
{
clip.loop();
}
}
catch(Exception e){/*吃掉所有异常*/}
}
/**
* 调整自动开始标志
* @param auto boolean 标志,true为自动,false为手动
*/
public void setAutoStart(boolean auto)
{
autoStart = auto;
try
{
if(clip != null)
{
clip.stop();
if(auto) clip.loop();
}
}
catch(Exception e){/*吃掉所有异常*/}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -