j2me模板,音乐的控制

/**

* 类说明:音乐的控制
* 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;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值