`
鸟哥哥
  • 浏览: 96345 次
  • 性别: Icon_minigender_1
  • 来自: 梅州兴宁
社区版块
存档分类
最新评论

鸟哥,j2me,声音,Player

阅读更多

利用midp2.0,播放mid格式音乐主流手机都是支持的,通用的简单的方法:

InputStream is = getClass().getResourceAsStream("/sound.mid");//通过直接路径访问可能会出问题哦,用getClass().getgetResourceAsStream是可以的。一开始就遇到这种问题。
player = Manager.createPlayer(is,"audio/midi");
player.realize();
player.setLoopCount(-1);//设定不断重复,开播之前设置,开播以后setLoopCount就不能用了,否则异常。
VolumeControl vc = (VolumeControl)player.getControl("VolumeControl");
vc.setLevel(50);//设置音量大小
player.start();//不阻塞直接返回,相信是一个线程吧,音乐就在后台播放了。

 在手机里(j2me),播放资源会很占资源,一边播放音乐,一边玩游戏是个不错的享受,但实际上一般做法是推荐玩家在玩游戏时关闭音乐.很多游戏根本不在意这音乐。
有些机型对player.stop()方法支持得很恶心,在手机中断时更是明显。实在没办法时,把player.close()掉,再重生new出一个player来再播放。

分享到:
评论
2 楼 鸟哥哥 2010-05-15  
LG播放音乐,不靠谱。把音乐砍掉好了。kg90基本上播放不了,kg77一卡卡的。砍掉好了。其他LG机器没试。
1 楼 鸟哥哥 2010-05-15  
做G+包时,发现E2,E6,E398播放音乐时,设置播放一次(或者不设置,默认就是播放一次)会有问题:播放不止一次。解决方案是给player增加playerlistener,一旦播放完毕,player.close(),已确保播放一次。

相关推荐

Global site tag (gtag.js) - Google Analytics