软件专业毕业论文--基于java的mp3播放器的设计与实现内容摘要:

功能模块概要设计 本软件同样采用 MVC 的设计模式,做到控制,信息与视图的相互分离,同时相互间有联系紧密,互相 调用,互为条件与依赖。 故将系统分为五大模块进行构建,分别是 用户界面模块 播放控制模块 播放信息模块 播放列表控制模块 歌词控制模块 其相互关系如图 32所示: 用户请求事件 用户请求事件 视图信息更新 视图信息更新 更新信息 信息 更新 读取 读取 更新 图 32 相互关系图 用户界面模块 为了实现软件产品界面的友好性和简洁性,同时又要保证功能的完整性,播放器的控制窗口的设计显得更是不同一般的重要。 首先,给出该界面的组件组成。 于一个小小的窗口,要摆放这么多的控件,如果随便地放在窗口上的话,将会使窗口十分混乱,影响使用,所以要对其摆放位置进行合理的规划。 这些控件被按照功能分成了 3 组,它们分别是控制面板、播放列表面板和 LRC 面板。 这样 一来,就可以实现软件产品界面的友好性与简洁性,条理分明,在保证软件产品功能完整性的同时,方便了用户的使用。 各面板关系如图 33: 播放信息模块 用户界面模块 播放控制模块 播放列表控制模块 歌词控制模块 播放列表 歌曲信息 图 33 面板关系图 播放信息模块 放信息模块由播放信息,播放列表,歌曲信息节点三个层次嵌套而成,如 34所示: 图 34 信息模块关系图 音频文件播放逻辑 对音频文件的传递 音频文件的传送主要是用在播放列表处理的过程中,当播放器的用户想利用本播放器来播放一个音频文件时,首先要做的就是将该音频文件所在磁盘上的地址传到播放列表模块中,由播放列表将信息传递给播放信息模块进行数据更新。 当要播放该文件时,就从播放信息播放信息 播放列表 1(默认) 播放列表 2 播放状态。 歌曲信息节点 1 歌曲信息节点 2 歌曲信息节点。 歌曲信息节点 1 歌曲信息节点 2 歌曲信息节点。 主框架 控制面板 播放列表面板 LRC 面板 系统菜单栏 控制按钮 控制条 标签 播 放列表菜单栏 LRC 右键菜单 播放列表 LRC 显示屏 模块中提取当前索引所指向该文件地址并将地址传送到播放控制模块 ,然后赋值给管理器 Manager 的新创建的媒体定位器对象(MediaLocator), Manager 创建播放器 (Player)后,剩下的工作都交给 Player进行音频文件的播放。 对歌词文件的传递 词的实时显示作为本播放器的重要功能, LRC 歌词文件的处理流程也就显得至关重要,因为 LRC歌词可能处于不同位置,所以其地址和数据处理流程要比音频文件的处理流程要复杂得多。 先,也是将音频文件所在磁盘上的地址传到播放列表中,当要播放该文件时,就从播放列表中提取该文件地址并将地址传送到播放控制窗口,并将音频文件扩展名改为 LRC,以获得一个与 MP3文件相同路径的 LRC 歌词文件的地址,将音频文件名和 LRC 文件名传递到播放信息模块;在播放信息模块中先读取音频文件的 TAG信息,然后将音频文件末尾的内容传递给歌词处理模块,检查该音频文件是否内嵌了歌词,如果内嵌歌词存在则分离出时 间信息和歌词文本并返回;如果不存在内嵌歌词,则检查同路径下 LRC歌词文件是否存在,如果存在则将其传递给歌词处理模块进行歌词处理,分离出时间信息和歌词文本并返回;如果不存在则尝试自动关联歌词文件夹中是否存在该歌词。 如果存在,则将其传递给歌词控制模块进行时间信息和歌词文本的分离,然后返回播放控制模块;如果此时返回的歌词存在,则将其传递给歌词显示窗口进行显示,并使用时间信息进行控制。 如果上述 3 处都没有歌词,则可以使用歌词右键菜单中的关联歌词功能按钮手动关联 LRC歌词文件。 播放控制流程 器 Player 从建立之初到消亡,各有一系列已经在 JMF 中编写好的方法可以调用。 软件也自定义了一系列方法来实现播放,暂停,停止,时间拖拽,播放逻辑如图 35所示: 图 35 播放逻辑图 播放状态 Stop() Play() 暂停状态 停止状态 正在播放状态 Player 创建 Player 启动 播放歌曲 判断播放器状态 恢复播放 重新播放 停止当前播放 重置时间 播放 暂停 停止 时间条拖动事件 分配资源 四、系统详细设计与实现 开发平台及环境 系统采用的开发平台是 IBM 公司的 平台。 Eclipse是一个开放源代码的,基于 Java 的可扩展开发平台,也同时是目前非常流行的跨平台的自由集成开发环境( IDE)。 Eclipse本身非常小,其设计思想是“一切皆为插件”,其他功能都是基于插件的形式 与Eclipse 无缝结合,协同工作,如 Eclipse 的图形开发环境( SWT/JFace), Java 开发环境插件( JDT),多国语言包,等。 在 Eclipse启动后,要真正用到某个插件是,该插件才会被动态载入内存,不再被使用的插件会在适当的时候被清出内存,本系统使用到的典型插件的例子就是用于开发图形界面的 VisualEditor 用户界面模块详细设计与实现 户界面的主要有三大任务,即 受被改变的信息,显示 /更新界面信息 听用户 /播放器的事件 改变的信息传递给其他控制模块 重要的任务无意识监听用户 /播放 器的事件并作出相应的反应。 播放控制模块详细设计与实现 放功能是媒体播放器所有控制功能中最重要的一个功能,没有了它,播放器不能播放,也就不能称之为播放器了。 在本播放器系统中,当点击播放会有两种状态转换:第一种是从停止状态转换到播放状 态;第二种是从暂停状态转换到播放状态。 播放命令由播放按钮点击产生单机事件形成播放命令 当播放器接收到播放命。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。