基于C#实现音乐播放器功能

  • 格式:doc
  • 大小:5.18 MB
  • 文档页数:34

摘要现在互联网的迅速发展,互联网技术日益成熟,成熟的计算机信息技术给人们带来许多便利。

在日常的娱乐方式中,音乐不可缺少。

随着数字化音乐的形成,媒体播放器也往更高的质量发展。

本论文的目的在于开发PC端音乐播放器。

文章包含了对音乐播放器界面实现的方法和对后台代码的理解及掌握,主要实现通过电脑使用播放器进行音乐播放功能和简单的在线搜索的功能。

通过实践进一步理解播放器的需求,以及其开发过程,基本满足大众播放器的要求。

文中使用面向.net frame框架,设计了一个简单的音乐播放器。

该播放器可以实现播放功能、搜索功能、歌词显示等关键字:音乐播放器、Visual studio 2013、.net frameworkAbstractWith the rapid development of modern economy and the continuous development of science and technology, computer information technology is becoming more and more prosperous. Music as a common way of entertainment in peoplee music player to play songs and to experience the fun of programming,you can use the Visual stdio2013.The purpose of this is to make everyone know a simple way to build a music player, and this method is mainly achieved by the Visual stdio. Article contains the method of a music player interface implementations, to understand and grasp the code-behind, The music player meets the requirements of the public players basically. This article uses .net framework to design a simple music player. This music player can play songs, search online, and display the lyrics.K eyword s:music player. the visual stdio 2013. .net frame目录1. C#概述 (1)1.1 什么是C# (1)1.2 课题研究思路 (1)2.系统分析 (2)2.1 功能分析 (2)2.2开发与运行环境 (4)2.3 可行性分析 (4)2.3.1 技术可行性 (5)2.3.2 经济可行性 (5)2.3.3 法律可行性 (5)3. 系统设计 (6)3.1设计概要 (6)3.2 功能模块 (6)3.3系统各功能子模块设计 (7)3.3.1开始模块 (7)3.3.2播放模式 (7)3.3.3音乐列表模块 (8)4. 功能实现 (9)4.1 播放器框架设计 (9)4.1.1命名空间结构 (9)4.1.2 App.config (10)4.2 歌曲添加模块 (10)4.3 歌曲删除模块 (12)4.4 播放控制模块 (14)4.4.1 启动自动播放 (14)4.4.2 双击播放音乐 (14)4.4.3歌曲切换 (15)4.5 自动播放下一曲 (15)4.6 显示歌词模块 (17)4.7 切换皮肤模块 (18)4.8 播放器背景模块 (19)4.9 网络连接模块 (20)4.10实现天气接口 (21)4.10实现注册登陆 (21)5. 软件测试 (22)6. 结束语 (29)参考文献 (30)基于C#实现网络音乐播放器功能1. C#概述1.1 什么是C#VS C#是微软公司可视化开发工具中系列产品,是创建Windows应用程序最简单、快捷的开发工具之一。

C#是由C和C++衍生出来的面向对象的编程语言,一个是C#应用程序可以由文件组成,也可以由多个文件组成。

C#的优点,简单:微软公司在设计C#语言时力求简单、尽量把一些复杂的东西,如宏、模板、多重继承消除。

面向对象:C#是一个面向对象的编程语言,,支持面向对象的特性,如封装性、继承性和多态性。

强大灵活:使用C#编程的用户几乎没有任何约束。

类型安全,C#去掉了指针,这从根本上保证了程序的稳定性和类型安全。

兼容性强:C#允许访问不同的API。

1.2 课题研究思路用C#实现音乐播放器功能是从这个音乐播放器的基础功能出发,通过程序将音乐播放控制、音乐文件控制、歌词控制等功能模块化,让这些功能让人更加容易了解,个中一些模块的设定也能让人更加容易明白这种音乐播放器的设计,更可以对visual stdio软件的使用更加熟悉。

具体是通过.Net frame框架技术与medial控件调用技术来实现音乐播放的功能;播放列表的控制是通过timer 与contextmenu的使用,webbroswer.navigate可以实现网络搜索功能。

2.系统分析2.1 功能分析2.2开发与运行环境◆硬件平台:CPU:Intel(R)Celeron(R)****************内存4.00GB64位操作系统硬盘500GB◆软件平台:开发平台:visual stdio 2013;运行平台:windows7;2.3 可行性分析项目的可行性分析主要包括技术可行性,经济可行性和法律可行性这3个方面的可行性研究。

2.3.1 技术可行性可行性研究的关键内容就是技术可行性。

在系统开发过程中遇到的难度最大的问题无疑就是技术可行性的研究了。

该播放器是用C#语言开发的,调试简单,对计算器的硬件要求也不高,一般PC完成能够满足开发要求。

软件方面:基于微软开发平台使用的C#面向对象的编程语言,开发速度快,简单易用,技术成熟,软件也容易下载,完成满足开发需求。

2.3.2 经济可行性一个计算机系统的开发价值主要在于他带来的效益,尤其是经济效益。

一个项目的盈利额是扣除掉所有花费的成本之后剩余的部分,而根据盈利额也可以判断这个项目在经济上是否是可行的。

一般而言,一个软件的开发成本主要由4部分组成:●购买并且安装软硬件以及相关设备的支出。

●系统开发的费用。

●系统安装,运行以及维护的费用。

●人员培训的费用。

本系统使用个人PC机,硬件投入小。

本系统所用的.net开发平台开发效率高,本系统开发人员少,使用本系统可以有效的节约人力。

2.3.3 法律可行性法律可行性的研究主要在于是否会侵害到他人的利益,是否会违反国家的法律法规。

在设计此音乐播放器时,没有损害到别人的利益,更没有违背国家有光规定。

因此本播放器在法律上是可行的。

综上所述,此次设计在技术上,经济上和法律上都是可行的。

3. 系统设计3.1设计概要音乐播放器作为数字音乐实现的媒介最基本的是要具备支持多种音频格式的解码播放。

通过对大众用户的需求来看,播放器的呈现画面及其功能不应该设计得太繁杂,简单的画面更能让人产生好感。

在尽量减少内存占用的基础上实现大众播放器的基本功能。

该系统基本功能分为四个部分,下面对每个部分实现功能进行分析。

播放控制:控制歌曲的播放,实现歌曲播放、暂停、停止,还可实现歌曲上一曲/下一曲的功能。

歌曲控制:通过打开本地文件来实现歌曲的添加,可以逐个添加也支持批量添加;列表中的歌曲也可删除。

歌词控制:播放器在播放音乐的时候,会进行自动扫描查看本地计算机是否存在相应的歌词文件,如果存在则会进行滚动播放。

联网控制:这个播放器还可以接入网络在线进行歌曲搜索并且下载至本地。

注册和登陆:播放时实现了与数据库进行连接天气接口:播放器实现了天气接口API3.2 功能模块本系统的这个播放器,功能模块如下图1。

图1软件功能模块图3.3系统各功能子模块设计3.3.1开始模块开始模块实现主要功能有:初始化界面,初始化播放列表,显示天气接口。

程序一开始根据系统配置自动配置,根据系统配置的音乐路径进行初始化。

1、添加音乐文件功能描述:根据配置文件的配置的文件路径,将音乐加入到播放列表中,同时更新播放列表。

2、添加背景图片:3、初始化天气接口4、退出3.3.2播放模式播放模式的主要实现的功能是:对歌曲进行打开/播放、暂停、停止、上一首、下一首、循环播放等控制。

1、歌曲播放模式:(1)单曲循环(2)顺序循环(3)列表循环(4)随机播放2、歌曲暂停3、歌曲停止4、上一首/下一首3.3.3音乐列表模块1、播放列表的添加删除修改2、从所有音乐列表里面添加音乐到我的音乐列表中,这边需要判断是否登陆。

3、在线音乐播放模块,在文本框中进行搜索,搜索的结果显示在在线音乐列表中。

并且下载音乐。

3.3.4界面设置模块界面设置模块主要实现:播放器的正常模式和放大模式,以及能够切换背景图片。

4. 功能实现4.1 播放器框架设计窗体在windows程序中是必不可少的。

任何一种windows程序都需要窗体。

在C#中,.NET Framework的Windows窗体应用程序是最普遍也是最重要的基于Windows平台的开发框架。

Windows窗体可以包含控件,控件是一种可见的供用户输入数据的界面元素。

众多的窗体、菜单、文本框、列表等显示元素集合在一起形成类,众多相关的类又组成了NET类库。

类库中含有很多种控件、组件和容器。

利用这些可以设计一款简单方便使用的界面。

用户可以依据需求,通过控件对类库中的元素进行调用,可以对界面进行编辑,设计自己喜欢的外观。

但是这一工程很耗时,许多程序非常繁杂,所以这里直接用一些图片来作为背景。

虽然并不一定能做到非常美观,但至少是可以满足舒适的外观要求。

通过设计界面的操作,也更进一步掌握了窗体和控件的使用,界面主要由窗体与控件拖放构成,视图设计器能自动生成大部分代码。

4.1.1命名空间结构采用windows窗体应用结构,其命名空间结构为:4.1.2 App.config4.2 歌曲添加模块这个播放器打开本地计算机音乐文件的方式主要依靠的是openfiledialog 组件,预先设置好一个打开文件的路径,在播放器界面点击“选择音乐”的时候能跳出之前设置好路径的对话框,打开对话框的时候可以自动筛选,显示音乐文件以供选择添加。

具体代码如下:///<summary>///获取播放歌曲///</summary>private void GetSong(){//接收播放歌曲方法,获得一个歌曲对象this.mySong = PlayList.Play();//如果歌曲对象不为空if (mySong != null){//播放器路径设置为该歌曲路径string t = mySong.FileName.Substring(0, mySong.FileName.IndexOf(".") + 1) + "mp4";wmp.URL = mySong.FileName;//t;//"F:\\KuGou\\Amy Diamond - Heartbeats.mp4";//mySong.FileName;//调用方法,显示歌曲名、歌手lblName.Text = PlayList.GetName();lblSinger.Text = PlayList.GetSinger();mySong.SongState = SongPlayState.played;//修改播放状态//播放按钮图片修改为暂停图片btnPlay.Image =Image.FromFile("Images\\stop.png");try{//读取歌词路径Path.ReadLrc();AddLrc();//启动一个定时器,此定时器只控制歌词轮播timer2.Start();}catch (Exception){LrcNull();itemLrc = new ListViewItem();itemLrc.SubItems.Add("找不到该歌曲歌词文件!");itemLrc.ForeColor = Color.Blue;itemLrc.Font = new Font("微软雅黑", 14.25F, ((FontStyle)((FontStyle.Bold | FontStyle.Underline))), GraphicsUnit.Point, ((byte)(134)));lvLrc.Items.Add(itemLrc);}}}4.3 歌曲删除模块我们实现了将歌曲添加至播放列表的功能所以也要实现将不需要的歌曲从播放列表删除的功能。