基于JSP开发平台的在线音乐播放器的实现==

合集下载

JSP音乐歌曲网站的设计方案与实现(SQL数据库)

JSP音乐歌曲网站的设计方案与实现(SQL数据库)

JSP音乐歌曲网站的设计与实现(SQL数据库)摘要:随着互联网和宽带上网的普及,Integer音乐网站在中国异军突起,并日益渗透到人们的日常生活中。

音乐网站是运用现代通信技术、计算机和网络技术进行的一种社会形态,其目的是通过互联网、提高人们生活水平、优化社会资源配置,从而实现社会财富的最大化利用。

本课题所研究的Integer音乐网站主要是为个人提供搜索,欣赏和评论的一个平台,从而给个人带来方便。

课题目标是设计并实现一个音乐网站。

结合实践,理解网页开发技术和数据库的基本知识,学习相关开发工具和应用软件,熟悉网站建设的过程,熟练掌握网络数据库编程方法。

关键词:音乐网站,互联网,系统设计目录摘要 1 Abstract 2 1、引言 3 1.1 课题的目的和意义 31.2 国内现状分析 32、可行性研究与需求分析 4 2.1 可行性研究 4 2.1.1 经济可行性 4 2.1.2 技术可行性 4 2.1.3 运行可行性 4 2.1.4 时间可行性 4 2.1.5 法律可行性 5 2.2 需求分析 5 2.2.1 系统需求 5 2.2.2 性能需求 5 2.2.3 应用需求分析 6 2.2.4 运行需求分析 62.2.5 其他需求分析 63、相关技术介绍7 3.1 JSP技术简介7 3.2 JSP工作原理7 3.3 JSP体系结构7 3.4 JSP的特点8 3.5 SQLSERVER 2000 数据库9 3.6 系统数据库连接103.7 BS模式与C/S模式的比较分析154、系统分析和工程开发计划18 4.1 系统分析18 4.2 工程开发计划18 4.3 内容分析18 4.4 功能模块图19 4.5 处理流程设计20 4.5.1 系统操作流程图20 4.5.2 数据增加流程20 4.5.3 数据修改流程214.5.4 数据删除流程225、系统设计24 5.1 前台模块设计24 5.1.1 首页24 5.1.2 最新歌曲25 5.1.3 全部分类25 5.1.4 搜索歌曲26 5.1.5 用户注册26 5.1.6 会员登录26 5.1.7 修改密码27 5.1.8 设为首页27 5.2 后台模块设计27 5.2.1 管理员登陆27 5.2.2 评论管理28 5.2.3 分类管理28 5.2.4 歌曲管理295.2.5 系统管理员设置296、系统调试与测试30 6.1 程序调试30 6.2 程序的测试30 6.2.1 测试的重要性及目的30 6.2.2 测试的步骤32 6.2.3 测试的主要内容32 结束语34 致谢36 参考文献 37内容分析音乐网站设计能够方便地进行音乐及音乐信息的网上发布和更新,并且可以检索到符合查询条件的音乐信息;用户可以将音乐信息实现上传,并能够对各类音乐及音乐信息进行网上查询。

音乐网站(论文范文,JSP,JAVA,毕业设计)

音乐网站(论文范文,JSP,JAVA,毕业设计)

基于JAVA在线音乐系统的设计与实现1绪论1.1 课题的目的和意义随着互联网和宽带上网的普及,Integer音乐网站在中国异军突起,并日益渗透到人们的日常生活中。

音乐网站是运用现代通信技术、计算机和网络技术进行的一种社会形态,其目的是通过互联网、提高社会生产效率、优化社会资源配置,从而实现社会财富的最大化利用。

本课题所研究的Integer音乐网站主要是为个人提供搜索,欣赏和下载的一个平台,从而给个人带来方便。

课题目标是设计并实现一个B/S体系结构的Integer音乐网站。

结合实践,理解网页开发技术和数据库的基本知识,学习相关开发工具和应用软件,熟悉网站建设的过程,熟练掌握网络数据库编程方法。

1.2 国内现状分析现在我国的信息管理水平还比较落后,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代传统的管理方法必然被计算机为基础的信息管理所取代。

软件作为一项有力的工具,只能当此种工具,与我们的实践相结合起来的时候,才具有重大的社会价值及使用价值。

因此根据目前实际的情况开发这样一套管理系统是十分必要的。

随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机进行管理,具有着手工管理所无法比拟的优点。

例如:可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高工作的效率,也是信息正规化管理与世界接轨的重要条件。

本系统用JSP语言来编写社本系统,数据库用SQLSERVER 2000来连接系统。

本论文主要涉及软件,数据库与网络技术等。

涵盖知识面广,可有效地提高学生综合运用所学知识分析解决问题的能力,增强学生对事物的理解与掌握能力,培养学生掌握科学的研究方法,正确的设计思想,独立思考,勇于进取,探索创新,为今后进一步学习与工作奠定了良好的基础。

2可行性研究与需求分析2.1 可行性研究该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。

毕业设计(论文)-基于java的mp3播放器jmplayer[管理资料]

毕业设计(论文)-基于java的mp3播放器jmplayer[管理资料]

基于JA V A的Mp3播放器JMPlayer作者姓名专业计算机科学与技术指导教师姓名专业技术职务讲师山东轻工业学院本科毕业设计(论文)原创性声明本人郑重声明:所呈交的毕业论文,是本人在指导教师的指导下独立研究、撰写的成果。

论文中引用他人的文献、数据、图件、资料,均已在论文中加以说明,除此之外,本论文不含任何其他个人或集体已经发表或撰写的成果作品。

对本文研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示了谢意。

本声明的法律结果由本人承担。

毕业论文作者签名:年月日山东轻工业学院关于毕业设计(论文)使用授权的说明本毕业论文作者完全了解学校有关保留、使用毕业论文的规定,即:学校有权保留、送交论文的复印件,允许论文被查阅和借阅,学校可以公布设计论文的全部或部分内容,可以采用影印、扫描等复制手段保存本论文。

指导教师签名:毕业设计(论文)作者签名:年月日年月日目录摘要 (III)ABSTRACT (IV)第一章引言 (1)课题研究背景及意义 (1)音乐播发器的发展及历史 (1)系统开发目标 (2)本文的主要内容和结构 (2)第二章相关工具及技术介绍 (1)Eclipse简介 (3)Java Thread简介 (4)JavaSound简介 (5)Java Swing简介 (6)Java Properties简介 (7)第三章需求分析 (9)工作流程分析 (9)评价具体需求分析 (9)系统功能结构图 (9)功能详细描述 (10)Mp3播放 (10)播放控制 (10)播放信息控制 (10)Mp3列表管理 (11)歌词 (11)其他 (11)第四章总体设计 (12)系统要求 (12)系统功能描述 (12)系统运行环境 (13)系统设计思想 (13)总体流程设计 (13)Mp3播放设计 (14)播放模式设计 (15)Mp3文件列表管理设计 (15)歌词设计 (16)皮肤切换设计 (17)显示模式设计 (18)第五章详细设计 (19)界面设计 (19)系统关键类设计 (20)系统类结构 (22)第六章软件功能实现 (23)播放Mp3实现 (23)Mp3文件解析实现 (23)Mp3列表控制类实现 (23)Mp3歌词解析及显示控制实现 (23)结束语 (25)参考文献 (24)致谢 (27)摘要随着java 语言的出现,软件的跨平台性已经能被更进一步的解决和处理,随着Internet的发展,软件的跨平台性又被提高到另一个新的要求。

基于springboot的音乐平台设计与实现

基于springboot的音乐平台设计与实现

基于Spring Boot的音乐平台设计与实现概述音乐平台是一个在线音乐播放和分享的平台,它允许用户搜索和播放各种类型的音乐,创建和管理歌单,并与其他用户分享自己喜欢的音乐。

本文将介绍如何使用Spring Boot框架来设计和实现一个基于Spring Boot的音乐平台。

技术栈在设计和实现音乐平台时,我们将使用以下技术栈:•Spring Boot: 一个用于快速开发基于Java的应用程序的框架。

•Spring MVC: 用于构建Web应用程序的框架。

•Spring Data JPA: 用于与数据库进行交互的框架。

•MySQL: 用作音乐平台的数据库。

功能设计用户管理音乐平台将支持用户注册、登录和注销功能。

用户注册时需要提供用户名、邮箱和密码,注册成功后会自动登录。

登录后可以查看个人信息,并可以修改个人信息,如用户名、邮箱和密码。

用户可以选择记住登录状态,以方便下次访问时自动登录。

搜索和播放音乐用户登录后可以搜索音乐,搜索结果将按照相关度进行排序,并显示音乐的封面、歌手和播放时长。

用户可以点击搜索结果中的音乐,进入音乐详情页面,在该页面可以播放音乐、添加音乐到自己的喜欢歌单,并查看其他用户对该音乐的评论。

歌单管理用户登录后可以创建和管理自己的歌单。

用户可以选择将搜索结果中的音乐添加到自己的歌单,并可以从歌单中删除音乐。

歌单支持按照创建时间、收藏数量和播放数量进行排序。

用户可以选择将歌单设置为公开或私有,公开的歌单可以被其他用户搜索到。

音乐分享用户可以将自己喜欢的音乐分享给其他用户。

可以通过将音乐添加到公开的歌单或通过私信的方式将音乐分享给其他用户。

其他用户可以收到分享的歌单或音乐,并可以将其添加到自己的歌单中。

评论和点赞用户可以对音乐、歌单和评论进行点赞或发表评论。

用户可以查看自己发布的评论,并可以删除自己的评论。

用户还可以查看其他用户对音乐、歌单和评论的点赞数量。

数据库设计音乐平台的数据库使用MySQL来存储数据。

asp.net实现在线音乐播放器示例

asp.net实现在线音乐播放器示例

这篇文章主要介绍了实现在线音乐播放器示例,需要的朋友可以参考下代码如下:<html><head><title>playback example</title></head><body><script language=javascript>function addmedia(url){// player.controls.stop(); //停止播放器// alert(player.versioninfo); //播放器的版本信息//取得向player对象的播放列表中添加媒体的权限document.getelementbyid(mediaplayer).settings.requestmediaaccessrights(full);// 取得当前的播放列表var playlist=mediaplayer.currentplaylist;//新建一个指定url的mediavar currmedia = mediaplayer.newmedia(url);//把新建的media item添加到播放器列表playlist.appenditem(currmedia);}function clearlist(){//mediaplayer.currentplaylist.count返回列表中的歌曲数量while(mediaplayer.currentplaylist.count>0) {var item =mediaplayer.currentplaylist.item(mediaplayer.currentplaylist.count-1); mediaplayer.currentplaylist.removeitem(item); // 从播放列表中删除项}}function addseletedsongtoplaylist(){clearlist();var selectitem = document.getelementsbyname(song);// alert(selectitem.length);for(var i=0;i<selectitem.length;i++){if(selectitem[i].checked==true){//alert(selectitem[i].value);addmedia(selectitem[i].value);}}// alert(mediaplayer.currentplaylist.count);mediaplayer.controls.play(); //让播放器开始播放}//添加歌曲到播放列表function addurltolist(){addmedia(document.getelementbyid(songurl).value );}</script><object classid=clsid:6bf52a52-394a-11d3-b153-00c04f79faa6 name=mediaplayer width=320 height=240 id=mediaplayer style=filter:gray()><param name=autostart value=1/><!--是否自动播放--><param name=balance value=0/><!--调整左右声道平衡,同上面旧播放器代码--><param name=enabled value=1/><!--播放器是否可人为控制--><param name=enablecontextmenu value=-1/><!--是否启用上下文菜单--><param name=url value=/><!--播放的文件地址--><param name=playcount value=1/><!--播放次数控制,为整数--><param name=rate value=1/><!--播放速率控制,1为正常,允许小数,1.0-2.0--><param name=currentposition value=0/><!--控件设置:当前位置--><param name=currentmarker value=0/><!--控件设置:当前标记--><param name=defaultframe value=0/><!--显示默认框架--><param name=invokeurls value=0/><!--脚本命令设置:是否调用url--><param name=baseurl value=/><!--脚本命令设置:被调用的url--><param name=stretchtofit value=0/><!--是否按比例伸展--><param name=volume value=50/><!--默认声音大小0%-100%,50则为50%--><param name=mute value=0/><!--是否静音--><param name=uimode value=full/><!--播放器显示模式:full显示全部;mini最简化;none不显示播放控制,只显示视频窗口;invisible全部不显示--><param name=windowlessvideo value=0/><!--如果是0可以允许全屏,否则只能在窗口中查看--><param name=fullscreen value=0/><!--开始播放是否自动全屏--><param name=enableerrordialogs value=0/><!--是否启用错误提示报告--><param name=samistyle value=/><!--sami样式--><param name=samilang value=/><!--sami语言--><param name=samifilename value=/><!--字幕id--><embed id=mediaplayer autostart=1 clicktoplay=0 width=320 height=240 showaudiocontrols=1 autorewind=0 autosize=0 showcontrols=1 align=bottom showstatusbar=1 showdisplay=0 animationatstart=1 src= showtracker=1 transparentatstart=0 type=application/x-mplayer2 showgotobar=0 pluginspage= defaultframe=datawindow border=1 showcaptioning=0 enablecontextmenu=1 showpositioncontrols=0 allowscan=1 invokeurls=0/></object><script>addseletedsongtoplaylist();</script><br><br><br><br><input type=checkbox name=song value =mms:///911pop?cccode=cc1276>青檬音乐台<br><input type=checkbox name=song value =mms:///914>广东新闻电台<br><input type=checkbox name=song value =mms:///993>广东音乐之声<br><br><input type = button id = playname=play value = 播放选中的歌曲onclick = addseletedsongtoplaylist();><input type = button id = clear name=clear value = 清空播放列表onclick = clearlist();> <br><input type = buttonid = add name=add value = 添加到播放列表onclick = addurltolist();><input type=text name=songurl value =http://></body></html>更多信息请查看IT技术专栏。

【毕业论文】基于JSP的音乐网站的设计与实现

【毕业论文】基于JSP的音乐网站的设计与实现

【毕业论文】基于JSP的音乐网站的设计与实现摘要随着网络技术的发展,人们在利用网络学习的同时,也在享受着网络带来的各种附带产品,如网络游戏,网络歌曲。

音乐网站正是在这样的需求下应运而生。

给人们的日常生活带来了极大的乐趣,让人们在繁忙疲惫的工作之后可以进行休闲。

基于此种现状,在充分分析了该行业的市场前景,调研了用户需求之后,设计了该音乐网站系统。

建立开发音乐网站,首先可以分享收听和下载自己喜欢的歌,及早了解喜爱歌手的最新专辑信息。

其次将自己的信息发布出去,而不受距离的限制,可以和大家一起交流信息。

再有如果网站访问量达到一定的数量后,可以为商家的产品作广告。

音乐网站的创作、传播、欣赏等方式对音乐的发展都产生了前所未有的影响。

人们通过音乐网站接触到了更多类型以及国内外的音乐,音乐网站为流行音乐创作提供了更多的便利,使流行音乐的欣赏方式发生了改变,不但刺激了流行音乐的传播,且也刺激了电子数码产品的频繁更新换代。

本系统由两大模块组成,前台展示模块和后台管理模块。

前台模块,主要是提供音乐动态展示,可以在线视听,在线下载。

而后台主要是对该网站的音乐信息进行及时的更新。

以提供最新的音乐信息。

根据系统所需功能,决定以Windows 7为开发平台,采用Microsoft Office Access做后台数据库,选择功能强大的Dreamweaver为开发工具,利用软件工程思想和方法,实现了音乐发布、查询、在线欣赏、下载等综合网站功能。

操作方便,可维护性强。

【关键词】JSP技术音乐网站B/S Access数据库ABSTRACTWith the development of network technology, people in the use of online learning, but also enjoying network with all kinds of products with the effects, such as the Internet, network game. It is in this music site demand premise. Give People's Daily life brings great fun, let people in the busy work can be tired afterleisure. Based on the analysis of the status quo, on the market prospect, and research the user needs, I designed this music web system.This system consists of two modules, receptionist display module and background management module. In front of the module, the music is mainly provides the dynamic display, audio, online download online. But for this website backstage mainly is the music information timely update. To provide the latest music information.In this industry are analyzed, and the market prospect of the user requirements, after investigation and develop music site, first can share to download and like songs about love, early in the latest album singer. Then will the information release you, not the distance limit, can communicate with people and information. Again, if the site traffic reaches a certain number of may, after the product advertising for businesses. Music site creation, communication, appreciating music on the development of the unprecedented. People through music web access to more types of music, music and music is popular website provides more convenient creation, make popular music appreciation ways are changed, not only to stimulate the spread of music popular, and also stimulates the electronic digital product of frequent updating and upgrading.According to the system function, decided to Windows 7, using Microsoft Office Access do backend database, choose a powerful tool for the development, utilization Dreamweaver software engineering idea and method, the music, query, online, download comprehensive site function. It is easy to operate, and the maintenance is comfortable.【Key words】JSP technology Music site B/S Access database目录前言 (1)第一章 JSP网站系统概述 (2)第一节JSP网站系统发展及本课题的目的和意义 (2)一、JSP网站系统发展历史 (2)二、本课题的研究目的和意义 (2)三、国内现状分析 (3)第二节可行性研究与分析 (3)一、经济可行性 (3)二、技术可行性 (4)三、运行可行性 (4)四、法律可行性 (4)第三节需求分析 (4)一、系统需求 (5)二、性能需求 (5)三、功能需求 (5)第四节本章小结 (5)第二章 JSP网站开发设计模式及关键技术 (6)第一节JSP网站开发设计模式 (6)一、C/S模式 (6)二、B/S模式 (7)三、C/S模式与B/S模式的比较 (7)第二节JSP网站开发关键技术 (8)一、JSP 技术 (8)二、Microsoft Office Access数据库 (9)三、Macromedia Flash (10)四、CSS样式 (11)第三节本章小结 (11)第三章JSP音乐网站的设计与实现 (12)第一节网站的模块设计 (12)一、前台模块设计 (12)二、后台模块设计 (13)第二节网站业务流程的设计 (14)一、普通用户操作流程图 (14)二、管理员操作流程图 (14)第三节网站数据库的实现 (15)一、概念数据模型 (16)二、数据库中表的设计 (16)第四节音乐网站整体框架和设计 (17) 一、整体框架 (17)第五节网站的详细实现 (18)一、系统首页 (18)二、用户登陆与注册 (19)三、音乐列表及搜索功能 (23)四、热点推荐 (26)五、推荐音乐及在线试听 (27)六、音乐论坛 (28)七、联系我们 (30)八、管理员界面 (31)九、用户注销 (36)第六节本章小结 (36)第四章JSP音乐网站调试与测试 (37) 第一节功能测试 (37)一、链接测试 (37)二、表单测试 (37)三、数据库测试 (37)第二节客户端浏览器兼容性测试 (38)一、平台测试 (38)二、浏览器测试 (38)第三节安全性测试 (38)第四节测试报告 (39)第五节本章小结 (39)结论 (40)参考文献 (41)前言随着当今信息技术的飞速发展和Internet的普及,人们越来越依赖于网络技术来架构自己的个人网站或者组建企业的门户网站,从而实现各种价值、业务和功能,进行网上营销、交流和宣传。

毕业论文基于javaweb的音乐网站的设计与实现开题报告

毕业论文基于javaweb的音乐网站的设计与实现开题报告

毕业论文基于javaweb的音乐网站的设计与实现开题报告1. 引言音乐是人们生活中不可或缺的一部分,随着互联网技术的发展,音乐网站的需求越发增加。

本文将以基于JavaWeb的音乐网站设计与实现为主题,旨在通过开发一个功能完备、用户友好的音乐网站,提供用户在线播放音乐、搜索音乐等功能。

本开题报告将给出研究背景、目标与意义、研究内容和方法等方面的介绍。

2. 研究背景随着互联网的普及,音乐市场也逐渐向线上转移。

然而,目前市面上的音乐网站存在一些问题,如界面设计不够友好、功能不够全面、用户体验不佳等。

因此,本文选择基于JavaWeb来设计和实现一个全面的音乐网站,以解决现有音乐网站的不足之处。

3. 目标与意义本文的目标是设计并实现一个基于JavaWeb的音乐网站,使用户能够方便地在线播放音乐、搜索音乐,并提供良好的用户体验。

同时,通过开发一个完善的音乐网站,可以为音乐爱好者提供更好的音乐交流平台,促进音乐文化的传播。

4. 研究内容和方法4.1 研究内容本文将主要研究以下内容: - 音乐网站的架构设计,包括前端和后端的设计; - 数据库设计,包括音乐信息、用户信息等; - 在线音乐播放功能的实现; - 搜索、分类等功能的实现;- 用户注册、登录、评论等用户管理功能的实现; - 网站性能的优化。

4.2 研究方法本文将采用以下研究方法: - 需求分析:分析用户需求,明确功能和性能要求; - 系统设计:设计音乐网站的架构,包括前端和后端的设计,并确定数据库的设计; - 开发实现:根据设计要求,使用JavaWeb技术进行开发; - 测试与优化:对开发完成的音乐网站进行测试,发现并优化潜在问题; - 用户反馈与改进:通过用户测试和反馈,不断优化网站的功能和用户体验。

5. 预期成果本文预期完成一个基于JavaWeb的音乐网站,具备以下特点: - 用户友好的界面设计,简洁明了; - 在线音乐播放功能,支持多种音乐格式; - 搜索、分类等功能,便于用户查找和发现音乐; - 用户管理功能,包括用户注册、登录、评论等; - 网站性能优化,提高用户访问速度。

js audio用法

js audio用法

js audio用法摘要:一、JS Audio简介二、JS Audio基本用法1.创建音频元素2.设置音频属性3.控制音频播放4.监听音频事件三、JS Audio进阶用法1.音频合成2.音频处理3.音频分析四、实战案例与应用1.网页音乐播放器2.语音识别与合成3.音频剪辑与处理五、总结与展望正文:一、JS Audio简介JS Audio是一款基于JavaScript的音频处理库,它为网页开发者提供了一系列简单易用的API,使得在网页上操作和处理音频变得轻而易举。

JSAudio支持多种音频格式,如MP3、WAV、Ogg等,同时兼容主流浏览器,包括Chrome、Firefox、Safari和Edge。

二、JS Audio基本用法1.创建音频元素要使用JS Audio,首先需要创建一个音频元素。

可以使用`createElement()`方法创建一个音频元素,如下所示:```javascriptvar audio = new Audio();```2.设置音频属性创建音频元素后,可以设置音频的各种属性,如src(音频文件路径)、loop(循环播放)、controls(显示播放控件)等,如下所示:```javascriptaudio.src = "music.mp3";audio.loop = true;audio.controls = true;```3.控制音频播放JS Audio提供了播放、暂停、停止等音频控制方法,如下所示:```javascriptaudio.play();audio.pause();audio.stop();```4.监听音频事件可以监听音频的加载、播放、暂停、停止等事件,如下所示:```javascriptaudio.addEventListener("load", function() {console.log("音频加载完成");});audio.addEventListener("play", function() {console.log("音频开始播放");});audio.addEventListener("pause", function() {console.log("音频暂停");});audio.addEventListener("stop", function() {console.log("音频停止");});```三、JS Audio进阶用法1.音频合成JS Audio提供了音频合成的功能,可以将多个音频信号合并为一个音频信号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于JSP开发平台的在线音乐播放器的实现?组长:薛辉 20087610232组员:杜学鑫20087610907袁茁 20087610137刘一峰20087730124杨硕 20087610235李明哲20087610114Android音乐播放器问题定义本软件是为了用户智能手机Android而开发的一套智能软件,提供在线下载音乐,在线播放音乐,读取SD卡音乐文件等功能。

一、可行性研究社会可行性分析:3G技术飞速发展,为满足人们对音乐的追求,音乐播放器层出不从,然而市面上大多音乐播发器软件都太难操作,或者音质不好,不能给用户以更好体验,故提出开放一套更加人性化的手机播放器。

技术可行性分析:以现阶段android技术发展水平,技术人员的技术配备,以及现有资源文档的配备来说,实现本软件是可能的。

经济可行性分析:有本人个人时间以及经费支持,使得开发此软件有了资金保障,可以充分利用这一优势,尽快开发。

其他可行性分析:二、需求分析随着3G时代的到来,手机应用越来越普遍,加之国民手机持有量更是爆炸式增长。

移动音乐服务正是为这一形势而发展起来,本人提出一种多功能手机音乐播放器的应用,主要为了满足不同人群的音乐需要,并且提高优质的音乐服务,于是提出本音乐播放器的主要功能。

需求功能如下:在线下载音乐功能。

在线播放音乐显示声音波段表示提供读取SD卡音乐用户可以定制音乐均衡器,以满足不同音质需求音量调节提供歌词跟随音乐滚动更能提供重力感应选择上、下首歌曲功能四、概要设计(总体设计):软件程序流程图五:详细设计那么接下来就开始我们的每一个模块的详细设计了:在线下载音乐:提供一个文本框供用户输入网络音乐文件地址,然后确定下载,并提供进度条显示,下载完毕后关闭对话框,注意进程之间的问题。

在线播放音乐提供音乐播放的基本功能,快进,暂停,播放,快退,同时进度滑块条需跟随滑动,用户也可以滑动滑动条进行调整播放位置。

提供读取SD卡音乐检测用户SD卡,如果没有,则弹出信息提示,并提示用户下载网络音乐,如果检测有SD卡,则再遍历是否有可播放文件,如果没有,则返回。

如果有,则显示出全部音乐文件,并提供点击播放功能。

用户可以定制音乐均衡器,以满足不同音质需求以一个对话框形式表现出,并提供多项滑动条供用户调节音频,同时更新音乐播放的质量。

音量调节提供提供滑动条供用户调节音量,音量范围在0—100之间提供歌词跟随音乐滚动更能解析LRC歌词文件,并同步歌词已经播放声音,注意以多线程方式以及解析xml 方式处理提供重力感应选择上、下首歌曲功能根据系统自带API开启重力感应功能,同时根据感应的方向选择切换到上下不同首歌曲,然后播放。

六:编码、单元测试。

七:综合测试组织人员对其进行一般性操作测试,针对每一模块进行,同时编写测试报告。

程序员修正Bug,根据用户反映,及时调整。

如果条件允许,可以变编写:测试计划,测试大纲,搭建测试环境,设计和生成测试用例,测试报告八:软件使用培训以及后期维护组织人员进行软件使用培训,并且由程序员或者美工人员制作培训指南。

程序员需熟悉相关模块,并熟悉文档,以便进行后期维护。

歌词同步的原理其实很简单:歌词显示是一个线程, 音乐播放时一个线程,通过播放时间将歌词显示进度与播放进度同步起来。

网络标准的歌词格式是LRC. 我们看下一个LRC文档,其格式就一目了然了.[ti:爱][ar:小虎队][al:华纳国语情浓13首][by:爱上你了音乐网][02:08.00][00:38.00]把你的心、我的心串一串[02:11.00][00:41.00]串一株幸运草、串一?同心圆[02:16.00][00:46.00]让所有期待未?的呼唤[02:19.00][00:49.00]趁青春做?伴[03:16.00][02:24.00][00:53.00]?让年轻越长大越孤单[03:19.00][02:27.00][00:56.00]把我的幸运草种在你的梦田[03:23.00][02:31.00][01:01.00]让地球随我?的同心圆….LRC 格式为[歌词显示起始时间][歌词显示结束时间]歌词内容。

了解歌词同步原理,我们可以想到要做如下工作:1. LRC 解析2. LRC 歌词显示3. 歌词与播放音乐同步4. 歌词的获取一LRC解析这边我推荐YOYOPlayer 音乐播放开源项目. 源代码已经非常好的支持了LRC解析. 我拿过来就用了.过程大概如此: 把LRC文件读到内存里面,用sentence数据结构存放. Sentence里面有Fromtime, Totime, content三个成员变量。

显示的时候需要这些数据。

二. LRC歌词显示歌词的绘制通过重写OnDraw方法.绘制的代码贴出来:long t = tempTime;int index = getNowSentenceIndex(t);if (index == -1) {return;}Sentence now = list.get(index);float f = (t - now.getFromTime()) * 1.0f/ (now.getToTime() - now.getFromTime());if (f > 0.98f) {f = 0.98f;}Shader shader = new LinearGradient(0, 0,now.getContentWidth(mTxtPaint), 0, new int[] { Color.RED,Color.BLUE }, new float[] { f, f + 0.01f },TileMode.CLAMP);mTxtPaint.setShader(shader);canvas.drawText(now.getContent(), 0, 20, mTxtPaint);上面的代码很简单,关键一个函数是getNowSentenceIndex(t). 通过播放时间来获得歌词的索引. 我们看下getNowSentenceIndex()如何实现./*** 得到当前正在播放的那一句的下标不可能找不到,因为最开头要加一句自己的句子,所以加了以后就不可能找不到了** @return 下标*/private int getNowSentenceIndex(long t) {for (int i = 0; i < list.size(); i++) {if (list.get(i).isInTime(t)) {return i;}}// throw new RuntimeException("竟然出现了找不到的情况!");return -1;}还有一个歌词渐变的效果,其关键代码在与对画笔的设置,如下.Shader shader = new LinearGradient(0, 0,now.getContentWidth(mTxtPaint), 0, new int[] { Color.RED,Color.BLUE }, new float[] { f, f + 0.01f },TileMode.CLAMP);mTxtPaint.setShader(shader);三. 歌词与播放音乐同步音乐播放的时候,同时启动歌词显示线程. 将音乐播放的时间设置到歌词View的成员变量中, 以达到同步的目的。

private class MyHandler extends Handler {@Overridepublic void handleMessage(Message msg) {// Log.v("#################hahah", "" + mp.getCurrentPosition());// 重画lrcView.mLyric.setTime(mp.getCurrentPosition());lrcView.invalidate();}}四. 歌词的获取歌词的获取是通过百度搜索出来的. 具体代码如下,很好看懂,关键代码如下:GetMethod get = new GetMethod("/s?wd=" + URLEncoder.encode("filetype:lrc " + key, "GBK"));get.addRequestHeader("Host", "");get.addRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11");get.addRequestHeader("Accept", "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png ,*/*;q=0.5");get.addRequestHeader("Accept-Language", "zh-cn,zh;q=0.5");get.addRequestHeader("Keep-Alive", "300");get.addRequestHeader("Referer", "/");get.addRequestHeader("Connection", "keep-alive");int i = http.executeMethod(get);。

相关文档
最新文档