音乐播放器(4)--Mp3歌曲播放与控制

news/2024/11/23 9:38:03/

这一篇介绍一下使用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






http://www.ppmy.cn/news/357024.html

相关文章

HTML5音频(自定义mp3播放器源码)

audio对象 src兼容.ogg .wav .mp3 <audio controls srcdata/imooc.wav></audio> width autoplay loop muted静音 <audio controls srcdata/imooc.wav autoplay loop width500 height500 muted></audio> 播放play() var myAudio new Audio();myAudio.…

点击mp3链接时播放而不下载的问题.

用户点击mp3下载链接经过一次跳转,然后有的机子就提示让下载,有的就提示让播放. 后来找了N多方案均无法解决. 其中 Code System.IO.FileInfo DownloadFile new System.IO.FileInfo(Server.MapPath("test.mp3"));//别的服务器不行. System.Web.HttpContext.Cu…

mpg123播放器的安装与使用

本文非原创&#xff0c;是根据实际操作过程及其遇到的问题&#xff0c;百度后集合几个博主的文章而得&#xff0c;算是一个搬运或集成者&#xff01; 具体步骤如下&#xff1a; 1、找到安装包&#xff1a;http://www.mpg123.de/download/?V1&OD 2、解压&#xff1a; 2.1…

Android开发本地及网络Mp3音乐播放器(十七)已存在歌曲歌词下载

转载请注明出处&#xff1a; http://blog.csdn.net/iwanghang/article/details/51388896 觉得博文有用&#xff0c;请点赞&#xff0c;请留言&#xff0c;请关注&#xff0c;谢谢&#xff01;~ 实现功能&#xff1a; 已存在歌曲歌词下载 后续将博文&#xff0c;将实现已下载音…

C#音乐播放器(可播放wav mp3格式)

C#音乐播放器 大二写的一个小项目&#xff08;未联网&#xff09;&#xff0c;基本功能都实现了&#xff0c;基本功能主要包括添加本地歌曲、歌曲切换、歌词展示、用户登录注册&#xff08;登录进去进行收藏&#xff09;等等一些功能&#xff0c;项目比较简单&#xff0c;下面…

「SQL面试题库」 No_96 电影评分

&#x1f345; 1、专栏介绍 「SQL面试题库」是由 不是西红柿 发起&#xff0c;全员免费参与的SQL学习活动。我每天发布1道SQL面试真题&#xff0c;从简单到困难&#xff0c;涵盖所有SQL知识点&#xff0c;我敢保证只要做完这100道题&#xff0c;不仅能轻松搞定面试&#xff0…

Android开发本地及网络Mp3音乐播放器(十九)通知媒体库更新刚下载的MP3

转载请注明出处&#xff1a; http://blog.csdn.net/iwanghang/article/details/51427158 觉得博文有用&#xff0c;请点赞&#xff0c;请留言&#xff0c;请关注&#xff0c;谢谢&#xff01;~ 实现功能&#xff1a; 通知媒体库更新 纠结了几天&#xff0c;百度到一个方法&a…

勤挖利-在html中插入mp3音频的代码-MP3在线听音乐播放器代码

勤挖利-在html中插入mp3音频的代码-MP3在线听音乐播放器代码 <div id"audioBox"> <script type"text/javascript"> window.onload function(){ var arr ["https://sharefs.yun.kugou.com/201911122244/321f7099a0190b28890c6884d76c…