📄 music.java
字号:
import javax.microedition.media.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
import java.io.IOException;
public class Music implements Runnable, PlayerListener
{
private boolean isMoving = false;
private String url = null;
private Displayable dis = null;
private boolean isOpen = true;
private Player p = null;
//private VolumeControl vc = null;
private String[] musicList = null;
private int num = 0;
public Music(Displayable c, boolean b)
{
isMoving = b;
dis = c;
}
public void moving()
{
new Thread(this).start();
}
public void playing()
{
//System.out.println("开始获取音乐列表");
getMusicList();
//System.out.println("获取音乐列表完毕");
if(musicList == null)
{
Alert alert=new Alert("Message","没有设置播放列表",null,AlertType.WARNING);
Chess.dis.setCurrent(alert, dis);
return;
}
new Thread(this).start();
}
public void run()
{
try
{
if(isMoving)
{
Manager.playTone(50,500,100);
}
else
{
p = Manager.createPlayer(musicList[num]);
p.realize();
//vc = (VolumeControl)p.getControl("VolumeControl");
p.start();
}
}
catch(MediaException me)
{
Alert alert=new Alert("Message","播放音乐时出现异常",null,AlertType.WARNING);
Chess.dis.setCurrent(alert, dis);
}
catch(IOException ie)
{
Alert alert=new Alert("Message","读取音乐时出现异常",null,AlertType.WARNING);
Chess.dis.setCurrent(alert, dis);
}
}
private void getMusicList()
{//读取背景音乐列表
MusicRecord mr = null;
try
{
//System.out.println("开始打开音乐记录");
mr = new MusicRecord();
//System.out.println("打开音乐记录完毕");
musicList = mr.getMusicList();
//可能是null
//System.out.println("音乐列表的长度:"+musicList.length);
}
catch(RecordStoreException rse)
{
Alert alert=new Alert("Message","读取音乐列表时出现异常",null,AlertType.WARNING);
Chess.dis.setCurrent(alert, dis);
}
mr.closeMusicRecord();
}
public void playerUpdate(Player p, String event, Object eventData)
{
if(event == PlayerListener.END_OF_MEDIA)
{
num = (num++)%(musicList.length);
new Thread(this).start();
}
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -