/**
* 类说明:音乐的控制
* ware audio files audio/x-wav
* au audio/basic
* mp3 audio/mpeg
* midi audio/midi
* tone audio/x-tone-sep
* mpeg video/mpeg
* @author 作者: User
* @version 创建时间:2011-3-22 下午10:02:59
*/
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 Music {
private static Music instance;
private Player player; // 创建一个音乐播放器
private VolumeControl volumeControl = null ; // 声音控制
private int volume = 50 ; // 音量的初始值
private static final int MAX = 100 ; // 音量最大值
private static final int MIN = 0 ; // 音量最小值
private boolean isplay = false ; // 是否真正播放
private Music() {
}
// 采用单例模式 返回本类对象
static Music getInstance() {
if (instance == null ) {
instance = new Music();
}
return instance;
}
// 播放音乐
public void playMusic() {
player = createPlayer( " /city.mid " , " audio/midi " ); // 创建音乐播放器
volumeControl = (VolumeControl) player.getControl( " VolumeControl " ); // 得到音乐控制器
isplay = true ;
startPlayer(player); // 开始播放音乐
}
// 停止音乐播放
public void stopMusic() {
try {
if (player != null )
player.stop();
player = null ;
isplay = false ;
} catch (Exception e) {
e.printStackTrace();
}
}
// 加大音量
public void addVolume() {
if (volumeControl != null ) {
volume += 10 ;
if (volume > MAX)
volume = MAX;
volumeControl.setLevel(volume);
}
}
public boolean isPlay() {
return isplay;
}
// 减小音量
public void subVolume() {
if (volumeControl != null ) {
volume -= 10 ;
if (volume < MIN)
volume = MIN;
volumeControl.setLevel(volume);
}
}
// 设置音量
public void setVolume( int volue) {
if (volumeControl != null ) {
volumeControl.setLevel(volue);
}
}
// 开始播放
private void startPlayer(Player p) {
if (p != null ) {
try {
p.stop();
p.setLoopCount( - 1 );
p.start();
} catch (MediaException me) {
me.printStackTrace();
}
}
}
// 创建音乐播放器
private Player createPlayer(String filename, String format) {
Player p = null ;
try {
InputStream is = getClass().getResourceAsStream(filename); // 得到音乐文件输入流
p = Manager.createPlayer(is, format);
p.prefetch();
} catch (Exception ioe) {
ioe.printStackTrace();
}
return p;
}
}
j2me模板,音乐的控制
最新推荐文章于 2024-03-10 10:57:26 发布