//游戏关卡控制
private int gameLevel = 0;
// //游戏音乐控制
private Player treadSoundPlayer;
Player backgroundMusicPlayer;
private int volumeLevel = 100; //音量大小的控制
private VolumeControl vc;
private boolean playState = false; //(播放/关闭)状态
////////////////////////////////声音处理///////////////////////////////////////
public void playerUpdate(Player p, String event, Object eventData) { //player监听
try {
if (event == PlayerListener.END_OF_MEDIA) {
playState = false;
}
if (event == PlayerListener.STARTED) {
playState = true;
// this.musicVolume();
}
}
catch (Exception e) {
System.out.println("Error at 11: " + event + e.toString());
}
}
protected void musicStart() { //随机产生一个音乐
try {
backgroundMusicPlayer = null;
backgroundMusicPlayer = createPlayer("/2c.mid", "audio/midi");
// backgroundMusicPlayer.addPlayerListener(this);
// backgroundMusicPlayer.setLoopCount( -1);
vc = (VolumeControl) backgroundMusicPlayer.getControl("VolumeControl");
if (vc != null)
{
if (gameLevel == 0)
backgroundMusicPlayer.setLoopCount( -1);
else
backgroundMusicPlayer.setLoopCount(5);
backgroundMusicPlayer.start();
}
}
catch (Exception e) {
System.out.println("Error at 20: " + backgroundMusicPlayer + e.toString());
}
}
protected void musicClose() { //关掉音乐
try {
if(backgroundMusicPlayer != null){
backgroundMusicPlayer.close();
backgroundMusicPlayer = null;
}
}
catch (Exception e) {
System.out.println("Error at 30: " + e.toString());
}
}
protected void musicPause() { //暂停音乐
try {
if (backgroundMusicPlayer != null && playState)
pausetime = backgroundMusicPlayer.getMediaTime();
backgroundMusicPlayer.stop();
}
catch (Exception e) {
System.out.println("Error at 40:" + e.toString());
}
}
protected void musicContinue() { //音乐继续
try {
if (backgroundMusicPlayer != null && !playState)
backgroundMusicPlayer.setMediaTime(pausetime);
backgroundMusicPlayer.start();
}
catch (Exception e) {
System.out.println("Error at 50:" + e.toString());
}
}
protected void musicVolume() //设置音乐的音量
{
if (vc != null)
vc.setLevel(volumeLevel);
}
protected Player createPlayer(String filename, String format) { //创建音乐
Player p = null;
try {
InputStream is = getClass().getResourceAsStream(filename);
p = Manager.createPlayer(is, format);
p.prefetch();
}
catch (Exception x) {
System.out.println("Error at 60: " + filename + x.toString());
}
return p;
}
MIDP2.0声音用法
最新推荐文章于 2021-02-24 05:38:59 发布
此博客给出了游戏音乐控制的代码实现。包含游戏关卡控制、音乐播放状态控制、音量控制等功能,有音乐的开始、关闭、暂停、继续等操作,同时对各操作可能出现的异常进行了捕获和输出。
68

被折叠的 条评论
为什么被折叠?



