📄 playermusic.java
字号:
package src;
import java.io.IOException;
import java.io.InputStream;
import javax.microedition.media.Manager;
import javax.microedition.media.MediaException;
import javax.microedition.media.Player;
import javax.microedition.media.control.VolumeControl;
public class PlayerMusic {
private Player player;
public boolean isPlayMusic;// 音乐播放判断
/**
* 加载音乐资源
*
* @param fileName
* 文件名
* @param format
* 音乐格式、如 audio/midi
* @return
*/
public boolean loadMusicFrome(String fileName, String format) {
try {
InputStream is = getClass().getResourceAsStream(fileName);
player = Manager.createPlayer(is, format);// audio/midi
} catch (IOException ex) {
return false;
} catch (MediaException ex) {
return false;
}
return true;
}
/**
* 播放音乐
*
*/
public void PlayMusic() {
if (isPlayMusic) {
try {
player.setLoopCount(-1);
player.realize();
player.prefetch();
player.start();
} catch (MediaException e) {
e.printStackTrace();
}
}
}
/**
* 设置音量
*
* @param level
* 音量范围在0到100
*/
public void setMusicVolume(int level) {
if (isPlayMusic && player != null) {
VolumeControl control = (VolumeControl) player
.getControl("VolumeControl");
control.setLevel(level);
}
}
/**
* 暂停音乐
*
*/
public void stopMusic() {
if (isPlayMusic && player != null) {
try {
player.stop();
} catch (MediaException ex) {
}
}
}
/**
* 关闭音乐
*
*/
public void closeMusic() {
if (isPlayMusic && player != null) {
player.close();// 关闭播放器
player = null;
isPlayMusic = false;
}
}
/**
* 重新加载音乐,关闭当前音乐并开始播放新音乐。
*
* @param fileName
* 文件名
*/
public void replayMusic(String fileName)// 重新播放一次,先释放资源再加载进入
{
closeMusic();
System.gc();// 释放
isPlayMusic = loadMusicFrome(fileName, "audio/midi");// 加载
PlayMusic();
setMusicVolume(50);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -