读书人

J2ME判断一个音乐是不是播放完毕

发布时间: 2012-09-10 11:02:32 作者: rapoo

J2ME判断一个音乐是否播放完毕

有一个朋友问我如何判断音乐是否播放完毕。小阿哥小想了一下。于是封装了一套API。仅供参考。希望对你有所帮助。

/** * @author 小阿哥 *  * */public interface AgePlayerListener {public void Finish();}

?

import javax.microedition.media.Manager;import javax.microedition.media.Player;/** * @author 小阿哥 *  * */public class AgePlayer {private Player pl;private AgePlayerListener Listener;public void start(String music){if(pl!=null&&pl.getState()==Player.STARTED){return;}if(Listener==null){System.out.println("您没有设置监听器。。请调用setAgeListener()来进行设置。。");return;}try {pl=Manager.createPlayer(this.getClass().getResourceAsStream(music), "audio/midi");pl.realize();pl.prefetch();pl.start();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}new Thread(){public void run(){while(true){if(pl.getState()==Player.PREFETCHED){Listener.Finish();break;}try{Thread.sleep(50);}catch(Exception ex){}}}}.start();}public void setAgeListener(AgePlayerListener Listener){this.Listener=Listener;}}

?

import javax.microedition.media.Player;import javax.microedition.midlet.MIDlet;import javax.microedition.midlet.MIDletStateChangeException;/** * @author 小阿哥 *  * */public class MyMIDlet extends MIDlet {protected void destroyApp(boolean arg0) throws MIDletStateChangeException {// TODO Auto-generated method stub}protected void pauseApp() {// TODO Auto-generated method stub}Player pl;protected void startApp() throws MIDletStateChangeException {// TODO Auto-generated method stubAgePlayer player=new AgePlayer();player.setAgeListener(new AgePlayerListener() {public void Finish() {// TODO Auto-generated method stubSystem.out.println("播放完毕啦。。哈哈。。做自己要处理的东西就可以了哈。。。。");}});player.start("/30.mid");}}

?

读书人网 >J2ME开发

热点推荐