利用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来再播放。