这一篇介绍一下使用java播放Mp3的,这里使用的是一个第三方包(jl.jar),项目主页http://www.javazoom.net/index.shtml,有了这个包,我们便可以轻松的实现mp3播放了。
1 Mp3播放
首先定义一个播放器接口
package honest.playmusic.impl;/*** 播放器接口* @author 李跃东* @mail androiddevelop@qq.com* @date 2013-11-8*/
public interface PlayerImpl{public abstract void playMusic();public abstract void playMusic(int start,int end);public abstract int pauseMusic();public abstract void stopMusic();public abstract void showLrc();public abstract void unShowLrc();public abstract int getCurrentFrame();public abstract boolean isComplete();
}
2 播放器流程控制
由于播放器整体的操作没有几个,我们可以将这相应的状态进行总结,这里用到的java设计模式中的状态模式,将播放器状态划分为:搜索状态,下一曲状态,歌词切换状态,更新曲库状态,更换歌词状态退出状态,输入错误状态,下面就是针对我们的输入进行状态间的切换,代码如下:
String cmd="s";while(!isExit){switch(cmd){//搜索//搜索阶段停止播放歌曲case "s": searchState(); break;//下一曲case "n": nextMusicState(); break;//歌词显示切换case "o": lrcSwitchState(); break;//更换歌词case "c": changeLrcState(); break;//更新歌曲库//更新阶段停止播放歌曲case "u": updateState(); break;//退出case "q": exitState(); break;//输入错误或者指定播放歌曲default: defaultState(cmd); }if(!isExit)cmd=in.nextLine().trim().toLowerCase();}
这样整体上播放器就是一个状态机,根据我们的输入,将会进行状态的切换,由一种状态切换到另一种状态,将问题变得更加简单,方便维护。
歌词获取解析结束,下一篇将会继续讲解音乐播放器(5)-播放器架构
转载请注明原帖地址:http://blog.csdn.net/dliyuedong/article/details/14648731