多媒体播放器系统设计 毕业设计

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

多媒体播放器系统设计
摘要
随着科技的进步,软件的发展已经不在满足其单一的需求,而是需要其越来越多元化来满足现在市场的需求。

随着世界的发展,人们的生活水平的提高,我们所追求的事物以不在是仅仅单一话,我们所需要的是满足我们自己生活水平的多元化的空间,在技术日新月异的今天,出现的产物也是多元化,以满足人们的需求。

播放器不再仅仅以播放音乐为唯一,而是集聚音乐,视屏,图片与一体的播放器。

该系统主要以音频播放器模块,视频播放器模块,图片播放器模块三大模块组成,从而实现视频,音乐,图片的播放。

该播放器主要以MFC为技术支持,它是一个微软公司提供的类库,以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。

其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。

MFC不只是一个功能单纯的界面开发系统,它提供的类绝大部分用来进行界面开发,关联一个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一个界面类,不实现对一个窗口对象的控制(如创建,销毁),而是一些在Windows中实现内部处理的类,如书籍库的管理类等,学习中最应花费时间的是消息和设备环境,对C++和MFC的学习中最难的部分是指针,C++面向对象程序设计的其它部分,如数据类型,流程控制都不难,建议学习数据结构C++版。

本系统界面友好,使用方便,交互性良好。

满足播放器的一切基本要求。

关键词:MFC 播放器音乐视频图片
Media PlayerSystem design
Abstract:With the progress of science and technology, software development has not meet its single demand, but need more multiple to meet the needs of the market now.Along with the development of the world, people's standard of living rise, we are pursuing with not is just a single thing words, all we need is to meet our own life level of diversification in the space of technology are developing rapidly, the product of today, there is diversity, to meet people's needs.
Media Player to play music Player not just for the only music, but agglomeration, monitor, pictures and integration of the Player. This system mainly audio player module, video player module, photo player module three modules, video, music, so as to realize the image playback.
This player mainly MFC for technical support, it is a Microsoft provides class library, with the form of c + + classes encapsulates Windows API, and contains an application framework, in order to reduce the workload of applications developers. Including class contains a number of Windows handle encapsulation type and many Windows built-in control and component packaging categories. MFC is not just a function simple interface development system, it provides most of the kind used to interface development, connecting a window movements, but it provides a better class of category is associated with a window that kind of action is not an interface class, not realize the control of a window object (e.g. created, destroyed), but some in Windows implement internal processing classes, such as books, such as library management in learning is the most should spend time for news and equipment environment, c + + and MFC learning is the toughest part of a pointer, c + + object-oriented program design, such as the other parts of the data types, and process control are hard, suggest learning data structure c + + edition.
This system friendly interface, easy to use, interactivity is good. Meet the basic requirements of the player。

Keywords: MFC Music video pictures. player
目录
第1章前言 (2)
第2章文档概述 (3)
文档目的和范围 (3)
术语/缩略语 (3)
参考文档 (3)
第3章系统结构图 (4)
第4章模块总体概述 (6)
界面模块 (6)
4.1.2 主界面模块结构 (8)
播放器模块 (9)
音频播放器模块 (9)
视频播放器模块 (11)
图片播放器模块 (13)
4.3 数据库模块 (16)
第5章数据库设计 (19)
数据库引擎概述 (19)
数据库概要设计 (20)
第6章系统详细设计 (23)
音频模块 (23)
图片模块 (26)
视频模块 (27)
结论 (29)
致谢 (31)
参考文献 (32)
第1章前言
随着科技的发展,软件播放器的市场的竞争日趋激烈,全面提高播放器的功能,增强播放的实用性越来越重要。

传统的播放器已经不能满足现代人的需求,它单一的功能满足不了现在多元化的要求。

因此,在这个多元化的世界里,我们的软件系统也同样需要多元化的发展。

播放器版本众多,什么SP、什么Realone、什么Gold,看起来挺复杂,但通过简单的查阅,他们还是有一些的规律。

捡我们比较熟悉的说,从最早的Realone开始,之后回归到RealPlayer正统名称RealPlayer10,在中国还专门为中国用户推出过一个10.6版本,增加了一些本地化的内容。

在之后就是RealPlayer11,增加了适应用户网络发展的功能,例如“一键下载网络视频”。

再之后出现的就是RealPlayer SP,虽然主体名称没有改变,但是版本号却没有使用12,而是用了一个代号性质的SP,但实际上就是12,功能上在11的基础上再次增加了一些辅助功能,如“修剪视频”、“格式转换”、“设备传输”、“社区分享”等等,这些网络功能也还是比较实用的。

在科技飞速进步的今天,人们对事物的需求也已经不在是单单的某一方面,而是多方面多功能的需求。

media player 功能:允许用户从本地添加单一文件或包含媒体文件的文件夹,在已经添加的文件中能进行删除选中文件以及删除全部文件的操作;Jane 浏览、播放已添加的音频文件(支持mp3/wma);浏览、播放已添加的图片文件(支持jpg/png/gif/bmp);浏览、播放已添加的视频文件 (支持wmv/avi/asf);能创建、编辑、添加、修改PlayList(支持最多10个PlayList,每个PlayList中最多支持100个文件);最近播放列表中能保存最近播放的10个文件;能对添加的文件进行分类,不同的媒体文件有不同的分类方法
第2章文档概述
该文档是根据需求跟踪矩阵和需求分析而来,主要是为了将用户的需求转换为对系统的设计,明确设计的主要任务,将用户的需求进一步细化,并且该文档是作为详细设计和软件测试及维护等后期工作的主要依据。

表2-1 GDI
表2-2 文档
第3章系统结构图
图3-1 系统结构图
系统结构主要为播放器的整体设计操作,主要有其中四大模块组成(数据库层,文件
解析,界面层,播放器层)。

这四大模块组成整个播放的程序过程,四大模块之间相辅相成,才能提供整个播放器的运行环境。

第4章模块总体概述
在Neusoft Media Player中分为三大部分:界面层、播放器层、数据库层。

这三个大层能细分为以下五个模块:总体结构的基本控制模块、音频模块、视频模块、图片模块、数据库模块。

三个大层间建立有相互通信的接口。

主界面是用户与Neusoft Media Player直接交互最频繁的模块,同时Neusoft Media Player通过它响应用户操作,并返回相应的结果。

在Neusoft Media Player初始化过程中,主界面将通过数据库提供的接口获取相关信息并显示在相应的列表中。

如果是首次使用,则提示用户设置默认监视目录、文件分类方式、创建PlayList并显示监视目录下所有文件;否则,将上次退出程序时数据库保存的信息读出显示。

用户在使用Neusoft Media Player的过程中,还可以通过单击功能切换按钮(图片、视频或音频)同步更新主界面中各列表所包含的信息。

这将触发目录监视和读取数据库信息,以实时填充主界面中各个列表(分类列表、文件列表、最近播放列表、最爱播放列表)。

对于图片和视频的播放,主界面并不直接参与,只是给图片和视频播放器提供一个接口,将选中文件的文件名和路径传递给它们(图片和视频播放器),让其调用。

音频播放是在主界面中内嵌实现的:当用户进行各种操作时,将触发主界面模块调用音频播放模块来响应用户请求。

用户对主界面所有列表(分类列表、文件列表、最近播放列表、最爱播放列表)的各种操作,如增加、修改、删除 (如果是物理文件还要涉及对本地文件夹处理接口的调用),都需要逆向执行程序初始化的过程----如当用户触发更改命令时,首先要将更改信息传给列表,列表传给数据库,统一更改。

在涉及物理文件删除的地方,还要执行本模块的删除物理文件操作,同时进行文件监视。

界面模块功能定义
本模块主要是实现与用户的交互,用户触发命令后调用其他模块提供的接口。

本模块提
供给其它模块的接口只有一个,即传递选中文件的信息的集合。

本模块主要功能具体如下
表4-1 主界面模块功能定义
4.1.2 主界面模块结构
单项数据流单项控制流
图4-1 界面模块结构图
主界面模块主要是播放器3大功能的操作,在选择音频,视频,图片中的任意一种模式进行播放器的播放操作,主要实行添加文件,删除文件,以及主页面中的一些关键操作。

表4-2 主界面模块接口说明
本模块为程序“播放器模块”下的子模块。

主要负责将音频类文件进行解码,获取音频文件的基本信息,写入数据库;实现音频文件的播放和播放控制操作,以及在播放音频文件时实现多个播放模式的变换,本模块与界面层及数据库之间都存在接口。

1)音频播放器模块功能定义
表4-3 音频播放器模块功能定义
音频播放器模块结构
图4-3 音频播放器模块结构图
音频播放器模块主要生成音频在播放器中的功能。

在播放的情况下,可以自由切换歌曲,拖动进度条快进或快退,暂停播放中的歌曲。

播放模式的选择中可以选取单曲循环,顺序循环,多曲循环,单曲播放,随机播放5大播放模式。

表4-4 音频模块接口说明
本模块完成对视频的各种操作并提供打开本模块的接口。

当用户点击主界面视频播放按钮后,本模块启动,从主界面提供的接口获得待播放的视频文件名和路径名,并放入播放列表。

视频播放器将自动启动并播放列表中的首个条目,如果有控制操作(点击播放/暂停键、下一集、上一集、停止键、播放列表项或者拖动播放进度控制条)则改变更新播放状态。

本模块对话框还支持最大化,最小化和拖动边框改变界面大小的功能。

1)视频模块功能定义
表4-5 视频模块功能定义
视频模块结构
单向控制流单向数据流
图4-5 视频模块结构图
视频模块结构主要阐述视频播放器中视频播放器的功能。

它可以在格式要求的情况下自由添加视频进行播放。

在播放过程中可以自由拖动进度条,点击上一集或者下一集,可以暂停播放以及重复播放次添加视频。

本模块为程序“播放器模块”下的子模块。

主要负责将图片文件进行解码,获取图片文件的基本信息,写入数据库;实现图像文件的浏览和简单的图像变换操作,以及在浏览多张图像文件时可进行动态浏览,并附加上用户可选择的过渡效果。

本模块与界面层及数据层之间都存在接口。

1)图片播放器模块功能定义
表4-6 图片播放器模块功能定义
2)图片播放器模块结构
图4-6图片播放器模块结构图
图片播放器模块结构主要提供播放器中图片播放模块的的一些操作,功能。

添加选定的图片后,可以自己调节图片大小,旋转变换,手动点击切换图片,也可以自动设计图片切换时间和一些过渡的效果。

本模块主要实行图片播放器的主要功能。

3)图片播放器模块类图
图4-7图片播放器模块类图类图说明:
Graphics和Image为GDI+中提供的绘制图像的类CMyScrollBar 和CImageControl为图片显示的区域相关类CImageShowDlg 为显示时的一些控制相关的类
表4-7 图片播放模块接口说明
4.3 数据库模块
本模块中所有函数都是为其他模块服务,其他模块所需的对文件的各种操作,均需调用该模块内的函数。

该模块内函数较多,均为接口函数。

1)数据库模块结构
单向控制流单向数据流
图4-8 数据库结构图
数据库层中的所有函数模块程序都是为播放器模块中的音频模块,视频模块,图片模块服务。

上述3模块中运用到得操作,比如,添加,删除,查找......。

本模块的主要功能就是为播放器中3大功能模块提供服务。

2)表4-8数据库模块类图
第5章数据库设计
Microsoft Office Access(前名Microsoft Access)是由微软发布的关联式数据库管理系统。

它结合了Microsoft Jet Database Engine 和图形用户界面两项特点,是Microsoft Office 的成员之一。

Access的优点:
1)存储方式简单,易于维护管理。

Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb或.accdb)的数据库文件中,便于用户的操作和管理。

2)面向对象。

Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能都封装在各类对象中它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。

通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。

同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。

3)集成了各种向导和生成器工具,极大的提高了开发人员的效率。

Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。

4)Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access 强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。

Access还可以将程序应用于网络,并与网络上的动态数据相联接。

利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。

5)支持广泛,易于扩展,弹性较大。

能够将通过链接表的方式来打开EXCEL文件、格式化文本文件等,这样就可以利用数据库的高效率对其中的数据进行查询、处理。

还可以通过以Access作为前台客户端,以SQL Server作为后台数据库的方式(如
音频模块相关表:
表5-1 AllMusic(所有音乐信息):
表5-2 MusicPlayList(播放列表所含音乐):
表5-3MusicPlayListName(播放列表表名):
表5-4 MusicRecentPlayList(最近播放项目):
表5-5 MusicRecentAddList(最近追加项目):
.
视频模块相关表:
表5-6 AllMovie(所有视频):
表5-7 MoviePlayList(播放列表所含视频):
表5-8MoviePlayListName(播放列表表名):
表5-9 MovieRecentPlayList(最近播放项目):
表5-10 MovieRecentAddList(最近追加项目):
图片模块相关表:
表5-11 AllPhoto(所有图片):
表5-12 PhotoPlayList(播放列表中所含图片):
表5-13 PhotoPlayListName(播放列表表名):
表5-14 PhotoRecentPlayList(最近播放项目):
表5-15 PhotoRecentAddList(最近追加项目):
第6章系统详细设计
音频模块
本模块主要是在播放器下的音频模块,实现音频文件的播放和播放控制操作,以及在播放音频文件时实现多个播放模式的变换,本模块与界面层及数据库之间都存在接口。

图6-1 音频播放器页面
bool CMusicPlayer::Play(char*path)
{
if(path!=NULL)
{
m_Media->put_URL(path);
m_control->play();
return true;
}
else
return false;
}
double CMusicPlayer::GetDurationDouble(char *path)
m_media = static_cast<CWMPMedia>(m_Media->newMedia(path));
return m_media.get_duration();
}
void CMusicPlayer::AddMusic(CListCtrl *ctr,HTREEITEM hItem)
{ m_Queue.RemovAll();
int num=ctr->GetSelectedCount();
POSITION ps=ctr->GetFirstSelectedItemPosition();
CString s;
HTREEITEM hChild=g_pDlg->m_TreePlayList.GetChildItem(hItem);
while(num>0)
{
int m_nIndex=ctr->GetNextSelectedItem(ps);
s=ctr->GetItemText(m_nIndex,4);//m_MediaList.SearchNode(m_nIndex);
m_Queue.InsertNode(m_nIndex,GetTitle(s.GetBuffer(0)),hChild,s.GetBuffer(0));
hChild=g_pDlg->m_TreePlayList.GetNextSiblingItem(hChild);
--num;
}
}
void CMusicPlayer::AddMusic(int index,char *path,HTREEITEM hItem)
{
if(m_Queue.GetCur()==NULL)
{
m_Queue.SetCur(m_Queue.GetTail());
m_Queue.InsertNode(index,GetTitle(path),hItem,path);
m_Queue.SetCur(m_Queue.GetTail());
}
else
m_Queue.InsertNode(index,GetTitle(path),hItem,path);
}
bool CMusicPlayer::Play()
{
if(m_path!=NULL)
{
CString path=m_path;
g_pLyricDlg->m_Start=0;
g_pLyricDlg->m_End=0;
ShowLyric(path,0);
m_Media->put_URL(m_path);
m_control->play();
return true;
}
else
return false;
bool CMusicPlayer::Next()
{
m_path=m_Queue.Next();
CString path=m_path;
g_pLyricDlg->m_Start=0;
g_pLyricDlg->m_End=0;
ShowLyric(path,0);
return Play();
}
double CMusicPlayer::GetDurationDouble()
{
m_media = static_cast<CWMPMedia>(m_Media->newMedia(m_path));
return m_media.get_duration();
}
/*void CMusicPlayer::SetFirst()
{
m_MediaList.SetCur(m_MediaList.GetHead());
}*/
void CMusicPlayer::AddMusic(int index, CListCtrl *ctr)
{
if(index==-1)
{
m_Queue.RemovAll();
int num=ctr->GetItemCount();
int n(0);
CString s;
CString name;
HTREEITEM hItem;
while(num>0)
{
s=ctr->GetItemText(n,4);//m_MediaList.Next();
name=ctr->GetItemText(n,0);
hItem=g_pDlg->m_TreePlayList.InsertItem(name,2,2,g_pDlg->m_hSelectItem,TVI_LAST);
m_Queue.InsertNode(n,GetTitle(s.GetBuffer(0)),hItem,s.GetBuffer(0));
num--;
n++;
}
//m_path=m_Queue.Next();
//Play();
能从主菜单和工具栏中选择文件类型下的音乐类型,并且主界面显示已经添加的音乐
添加歌曲;音乐播放模式互换主要有:
1)单曲播放:当选中一个音频时播放该音频;当选中多个音频时播放选中的第一个音频;当未选中音频时播放当前选中的播放列表中的第一个音频。

且该音频只播放一次,播放完毕后停止。

2)单曲循环:当选中一个音频时播放该音频;当选中多个音频时播放选中的第一个音频;当未选中音频时播放当前选中的播放列表中的第一个音频。

且不停循环,直到用户点击停止按钮。

3)顺序播放:当选中一个音频时,播放效果同单曲播放;当选中多个音频时,从选中的第一个音频开始播放,直到选中的最后一个音频;当没有选中音频时,从当前选中的播放列表中的第一个音频开始播放,直到列表中的最后一个音频。

且当最后一个音频播放完毕后播放停止。

4)循环播放:当选中一个音频时,播放效果同单曲循环;当选中多个音频时,从选中的第一个音频开始播放,直到选中的最后一个音频;当没有选中音频时,从当前选中的播放列表中的第一个音频开始播放,直到列表中的最后一个音频。

且当最后一个音频播放完毕后从第一个音频开始重新播放。

5)随机播放:当选中一个音频时,播放效果同单曲循环;当选中多个音频时,会随机播放选中的文件。

本模块主要实现图像文件的浏览和简单的图像变换操作,以及在浏览多张图像文件时可进行动态浏览,并附加上用户可选择的过渡效果。

本模块与界面层及数据层之间都存在接口。

图6-2 图片播放器页面
//按钮悬停提示
CRect rect(0,0,100,100);
m_ToolTip.Create(this);
m_ToolTip.SetTipTextColor(RGB(255,0,0));
//设置弹出框字体颜色
m_ToolTip.SetDelayTime(0);
//设置延迟时间
CString str;
m_ToolTip.AddTool(GetDlgItem(IDC_IMAGE_PLAY),"全屏自动播放",&rect,1);
m_ToolTip.AddTool(GetDlgItem(IDC_IMAGE_BRIVERY),"缩略图",&rect,1);
m_ToolTip.AddTool(GetDlgItem(IDC_IMAGE_PREVIOUS),"上一张",&rect,1);
m_ToolTip.AddTool(GetDlgItem(IDC_IMAGE_NEXT),"下一张",&rect,1);
m_ToolTip.AddTool(GetDlgItem(IDC_IMAGE_BLOWUP),"图片放大",&rect,1);
m_ToolTip.AddTool(GetDlgItem(IDC_IMAGE_REDUCE),"图片缩小",&rect,1);
m_ToolTip.AddTool(GetDlgItem(IDC_IMAGE_CLOCKWISE),"顺时针旋转",&rect,1);
m_ToolTip.AddTool(GetDlgItem(IDC_IMAGE_UNCLOCKWISE),"逆时针旋转",&rect,1);
可以实现图片的自由添加,图片的播放与制作,能从主菜单和工具栏中选择文件类型下的图片类型,并且主界面显示已经添加的图片文件、图片分类、最近查看的图片。

图6-3视频播放器页面
视频播放器可以实现自由添加视频,删除视频,自由拖动进度条,自由切换视频。

能从主
菜单和工具栏中选择文件类型下的视频类型,并且主界面显示已经添加的视频文件、视频分类、最近播放的视频。

/**************************初始化播放列表**************************/
m_VideoPlaysList.InsertColumn( 0, "视频列表:", LVCFMT_LEFT, 190 );
m_VideoPlaysList.InsertColumn( 1, "大小:", LVCFMT_LEFT, 100 );//插入列
m_VideoPlaysList.InsertColumn( 2, "类型:", LVCFMT_LEFT, 100 );//插入列
m_VideoPlaysList.InsertColumn( 3, "日期:", LVCFMT_LEFT, 100 );//插入列
m_VideoPlaysList.InsertColumn( 4, "路径:", LVCFMT_LEFT, 100 );//插入列
m_VideoPlaysList.InsertColumn( 5, "播放时长:", LVCFMT_LEFT, 100 );//插入列/*if(g_pDlg->m_bVLoadData==TRUE)
{
m_nCount=g_pDlg->m_FileList.GetItemCount();//获取视频数量*/
/*获取文件长度*/
/*for(int i=0;i<m_nCount;++i)
{
m_VideoPlaysList.InsertItem(i, g_pDlg->m_FileList.GetItemText(i,0));
m_VideoPlaysList.SetItemText(i,1,g_pDlg->m_FileList.GetItemText(i,1));
m_VideoPlaysList.SetItemText(i,2,g_pDlg->m_FileList.GetItemText(i,2));
m_VideoPlaysList.SetItemText(i,3,g_pDlg->m_FileList.GetItemText(i,3));
m_VideoPlaysList.SetItemText(i,4,g_pDlg->m_FileList.GetItemText(i,4));
m_strPath=m_VideoPlaysList.GetItemText(i,4);
m_VideoMedia = static_cast<CWMPMedia>(m_VideoPlayer.newMedia(m_strPath));
if(m_VideoMedia.getItemInfo("FileType")=="asf")
结论
1 系统取得的成果
本系统主要以MFC为技术支持,实现了与视频,音乐,图片播放与一体的软件播放器,主要可以实现以下功能:
1)项目功能点1:允许用户从本地添加单一文件或包含媒体文件的文件夹,在已经添加的文件中能进行删除选中文件以及删除全部文件的操作。

2)项目功能点2:浏览、播放已添加的音频文件(支持mp3/wma)
3)项目功能点3:浏览、播放已添加的图片文件 (支持jpg/png/gif/bmp)
4)项目功能点4:浏览、播放已添加的视频文件 (支持wmv/avi/asf)
5)项目功能点5:能创建、编辑、添加、修改PlayList(支持最多10个PlayList,每个PlayList中最多支持100个文件)
6)项目功能点6:最近播放列表中能保存最近播放的10个文件
7)项目功能点7:能对添加的文件进行分类,不同的媒体文件有不同的分类方法
本系统的基本功能:
能最小化窗口,退出播放器。

除特殊说明外,该部分在任意模式下有效。

1)最小化:点击窗口的最小化按钮,能将播放器最小化
2)关闭:点击窗口的关闭按钮,能正常退出播放器。

3)右键功能:鼠标右键点击媒体文件能选择对相应媒体文件的操作,比如播放、从列表中删除、彻底删除、查看文件属性。

4)双击功能:鼠标双击媒体文件时能播放该媒体文件
5)鼠标悬停:当鼠标悬停在媒体文件上时,弹出该媒体文件的详细信息。

在音频与视频播放模式下当鼠标悬停于播放进度条时,能显示剩余剩余播放时间,在图片播放模式下能显示剩余图片张数。

6)快捷键:在播放时点击空格能实现暂停与播放。

基本的界面转换
音乐:能从主菜单和工具栏中选择文件类型下的音乐类型,并且主界面显示已经添加的音乐文件、音乐分类、最近播放的音乐。

图片:能从主菜单和工具栏中选择文件类型下的图片类型,并且主界面显示已经添加的
图片文件、图片分类、最近查看的图片。

视频:能从主菜单和工具栏中选择文件类型下的视频类型,并且主界面显示已经添加的视频文件、视频分类、最近播放的视频。

2 系统缺陷
本系统内存存在缺陷,容易产生内存泄露,当添加的文件过多时系统容易崩盘,与一些比较成熟的播放软件相比较还是有很大的差距。

其次在外观方面还略显不足。

子支持与帮助的朋友,谢谢你们。

致谢
本人在毕业设计和论文的编写工作中,我的指导老师吴小平副教授给我的设计、论文提出了宝贵的意见和辅导。

他严肃的科学态度,严谨的治学精神,实事求是的学术作风,深深地感染和激励着我。

从题目的选择到最终完成,吴老师都始终给予我心的指导和不懈的支持。

在此我要对吴老师由衷的感谢,谢谢老师的关怀和支持!还有在制作过程中给予我帮助的同学,也谢谢你们!
其次,我感谢我的老师们,是他们传授了我知识。

教我科学的态度和做人的道理。

再次,我要感谢我的同学,感谢他们在这四年给我的关怀我照顾。

让我有大家庭的温暖。

最后,我要感谢我的父母,他们在背后默默无闻的鼓励和支持给了我希望,给予了我最大的动力,让我了却后顾之忧,安心完成学业。

学海无涯,在今后的学习和工作中,我将加倍努力,勤奋工作,来回报曾经指导、帮助、鼓励、支持过我的老师,同学和家人!
参考文献
1 侯俊杰, 《深入浅出MFC》
2 孙鑫.《VC++从入门到精通》
3 Ivor Horton著李颂华康会光译《Visual C++ 2005 入门经典》
4 Bjarne Stroustrup, The C++ Programming Language (Special 3rd Edition) 《C++程序设计语言(特别版)》,机械工业出版社
5 Bjarne Stroustrup, The C++ Programming Language (Special 3rd Edition) 《C++程序设计语言(特别版)(英文影印版)》,高等教育出版社
7《Android 系统原理及开发要点详解》作者:韩超,梁泉著
6 《C++ PRIMER 中文版》:作者oid 系统原理及开发要点详解》作者:韩超,梁泉著
8 张孝祥著. java就业培训教程[M].北京:清华大学出版社,2007.
9 余志龙编著.Google Android SDK开发范例大全[M].北京:人民邮电出版社,2009-7-1.
10 靳岩姚尚朗著.Google Android开发入门与实战[M].北京:清华大学出版社,2009-07-01. LIPPMAN
11 HarveycM.cDeitel博士著 C++大学教程(第五版)。

12在Bjarne《Accelerated C++中文版》,中国电力出版社。

13 Dov Bulka和 David Mayhew合著的《Efficient C++:Performance Programming Techniques》(《提高C++ 性能的编程技术》,清华大学出版社)
14《C++设计新思维:泛型编程与设计模式之应用》,华中科技大学出版社
15 《C++设计新思维(影印版)》,中国电力出版社。

相关文档
最新文档