这一篇介绍一下使用java播放Mp3的,这里使用的是一个第三方包(jl.jar),项目主页http://www.javazoom.net/index.shtml,有了这个包,我们便可以轻松的实现mp3播放了。
1 Mp3播放
首先定义一个播放器接口
package honest.playmusic.impl;
/**
* 播放器接口
* @author 李跃东
* @mail [email protected]
* @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