多媒体播放器设计_课程设计报告
多媒体播放器的设计与实现报告

《多媒体技术》课程论文题目:基于MFC的多媒体播放器的设计与实现专业:班级:姓名:学号:指导老师:摘要:本程序是基于MFC集成开发环境,利用ActiveMovie控件实现媒体播放的功能的多媒体播放器。
具有打开文件、播放、暂停、全屏、音量调节、静音、快进、快退等基本播放功能。
系统开发平台为Windows 7操作系统,程序设计环境采用Visual C++ 6.0。
关键字:MFC,ActiveMovie,多媒体1.开发工具及相关知识介绍MFC(MicrosoftFoundationClasses)是微软基础类库的简称,是微软公司实现的一个c++类库,主要封装了大部分的windows API函数,vc++是微软公司开发的c/c++的集成开发环境,所谓集成开发环境,就是说利用它可以编辑,编译,调试,而不是使用多种工具轮换操作,灵活性较大。
vc也指它的内部编译器,集成开发环境必须有一个编译器内核,例如DevC++其中一个编译器内核就是gcc。
MFC除了是一个类库以外,还是一个框架,在vc++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。
xx是版本,它封装了mfc内核,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西,但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率。
一个MFC窗口对象是一个C++ CWnd类(或派生类)的实例,是程序直接创建的。
在程序执行中它随着窗口类构造函数的调用而生成,随着析构函数的调用而消失。
而Windows窗口则是Windows系统的一个内部数据结构的实例,由一个“窗口句柄”标识,Windows系统创建它并给它分配系统资源。
Windows窗口在MFC 窗口对象创建之后,由CWnd类的Create成员函数创建,“窗口句柄”保存在窗口对象的m_hWnd成员变量中。
Windows窗口可以被一个程序销毁,也可以被用户的动作销毁。
(广告传媒)多媒体播放器 课程设计报告

(设计标题)多媒体播放器用户签名:开发成员:孟凡林开发时间:2010—12-23目录0引言 (4)1 工作计划 (4)1.1主要工作阶段划分 (4)1.2工作任务分工 (4)2需求分析 (4)2.1概述 (4)2.2用户分析 (5)2.3 约束条件 (5)2.4功能需求 (5)2.5用户界面需求 (5)3设计与实现 (5)3.1概述 (5)3.2详细设计 (6)3.1.1类的抽象及设计 (6)3.3 主要程序文件 (6)3.4开发环境以及部署环境要求 (7)3.5 主要源码 (7)4 测试 (11)4.1概述 (11)4.2 测试环境 (11)4.3测试计划 (11)4.4测试项目及结果 (11)5、工作总结 (12)5.1工作成果 (12)5.2过程分析 (13)5.3经验教训及其分析 (13)0引言现在人们娱乐的方式多种多样,已经有了很明显的变化,以前的户外运动现在已经在锐减,换而之的是网络游戏与网上聊天,而在同时听听音乐看看电影也成为了巨大的需求,所以很多多媒体播放软件出现了,形形色色各种都有,而我也赶下时髦,体验一下编写的过程,现在才发现这并不难,重要的是插件的插入,而其他的功能实现只需调用相应函数就行了!1 工作计划1.1主要工作阶段划分(用表格或图表的形式列出你们小组各个阶段的时间进度大致安排)1.2工作任务分工2需求分析2.1概述1)到网上或图书馆查找相关系统函数实现相应的功能;2)使用MFC构建相应的用户界面2.2用户分析1)要求有稳定的性能,可实现要求的功能;2)拥有较好的界面,很方便人操作!2.3 约束条件(作为开发人员的,通常你的小组的工作时间和人员是一个明显约束;另外站在用户的角度,他们对你有什么约束要求,请从这两个角度进行陈述。
)2.4功能需求能够打开文件放进播放列表,点击播放键使其播放,暂停键暂停,停止键停止,重播键重新播放,全屏键全屏播放,退出键退出程序,增大键增大音量,减小键减小音量!2.5用户界面需求3设计与实现3.1概述使用MFC构建相应的用户界面,实现相应的功能----------能够打开文件放进播放列表,点击播放键使其播放,暂停键暂停,停止键停止,重播键重新播放,全屏键全屏播放,退出键退出程序,增大键增大音量,减小键减小音量,然后向其中加入各个函数实现相应的功能!3.2详细设计3.1.1类的抽象及设计1)控件active movie3类,主要用来播放各种类型的文件,其封装的各种成员函数使其成为MFC设计播放器必不可少的控件类;2)对话框基类cDlg类,及其派生类:(a)控件repeatbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时再次播放打开的文件;(b)控件copenbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时提供资源管理器供用户选择文件;(c)控件playbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时播放打开的文件;(d)控件pausebtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时暂停播放打开的文件;(e)控件lowerbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时减小播放音量;(f)控件upperbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时增大播放音量(g)控件stopbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时停止播放打开的文件;(h)控件fullscreen类,作为播放器打开文件的消息响应媒介,能够做到被点击时全屏播放打开的文件;至于其他的,当我们使用MFC编程时,会有很多封装的类供我们使用,所以就不一一列举了!3.3 主要程序文件1)头文件(为类加入相应的标准流,库):Activemovie3.h-------控件;stdafx.h-----框架构成;多媒体.h-----多媒体的应用;多媒体Dlg.h------对话框;resourse.h-----为多媒体.rc服务!2)源文件(完成各种类的定义与实现):Activemovie3.cpp-------控件;stdafx.cpp-----框架构成;多媒体.cpp----多媒体的应用;多媒体Dlg.cpp------对话框;多媒体.rc-----运行过的效果!3.4开发环境以及部署环境要求1)Vs2010;2)3.5 主要源码1)打开文件void CMyDlg::OnOpenButton(){// TODO: Add your control notification handler code hereCString strFilter = "Mp3 File(*.mp3)|*.mp3| ";strFilter += "MPEG File(*.mpg;*.mpeg)|*.mpg;*.mpeg| ";strFilter += "Wave File(*.wav)|*.wav| ";strFilter += "AVI File(*.avi)|*.avi| ";strFilter += "All File(*.*)|*.*| "; //过滤适当的文件必须以0区分,以00结束,否则会出现参数不正确CFileDialog dlgOpen(TRUE,NULL,NULL,OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT,strFilter,this);//为CFileDialog定义对象DWORD MAXFILE = 2412; // 分配足够空间dlgOpen.m_ofn.nMaxFile = MAXFILE; // 设置buffer的大小CString strFileName;char* buf = new char[MAXFILE]; //分配空间dlgOpen.m_ofn.lpstrFile = buf;dlgOpen.m_ofn.lpstrFile[0] = NULL; //赋值if(IDOK == dlgOpen.DoModal()){POSITION pos = dlgOpen.GetStartPosition();while (pos != NULL){strFileName = dlgOpen.GetNextPathName(pos);// 获取独立文件名m_list1.InsertString(m_list1.GetCount(),strFileName);//加至播放列表}}delete [] buf; //释放空间}2)播放文件void CMyDlg::OnPlayButton(){// TODO: Add your control notification handler code here m_ActiveMovie.Run();//播放文件SetTimer(0,20,NULL);//设置定时器}3)暂停播放void CMyDlg::OnPauseButton(){// TODO: Add your control notification handler code here m_ActiveMovie.Pause();}4.停止播放void CMyDlg::OnStopButton(){// TODO: Add your control notification handler code here m_ActiveMovie.Stop();//停止播放文件KillTimer(0);//关掉定时器}5.重复播放void CMyDlg::OnReapetButton(){// TODO: Add your control notification handler code here if(!isRepeat){isRepeat=TRUE;SetDlgItemText(IDC_STATIC2,"Status:Repeat");}else{isRepeat=FALSE;SetDlgItemText(IDC_STATIC2,"Status:Normal");}6.增大声音void CMyDlg::OnUpperButton(){// TODO: Add your control notification handler code here long Volume=m_ActiveMovie.GetVolume();m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(Volume+100);m_ActiveMovie.Run();}7.减小声音void CMyDlg::OnLowerButton(){// TODO: Add your control notification handler code here long Volume=m_ActiveMovie.GetVolume();m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(Volume-100);m_ActiveMovie.Run();}8.全屏播放void CMyDlg::OnFullButton(){// TODO: Add your control notification handler code here m_ActiveMovie.Pause();m_ActiveMovie.SetFullScreenMode(true);m_ActiveMovie.SetMovieWindowSize(SW_SHOWMAXIMIZED);m_ActiveMovie.Run();}9.关闭窗口void CMyDlg::OnCloseButton(){// TODO: Add your control notification handler code here m_ActiveMovie.CloseWindow();²}10.退出void CMyDlg::OnClickedExitButton(){// TODO: Add your control notification handler code here PostQuitMessage(0);//;}4 测试4.1概述1)打开文件(从曲库中找出歌曲加入列表中)2)播放,暂停,停止,全屏显示,停止,重播(active movie实现功能)4.2 测试环境1)2)vs20104.3测试计划1)打开文件2)播放及各种键的使用3)多次运行,检查稳定性4.4测试项目及结果1)打开文件2)5、工作总结5.1工作成果工作成果不是很明显,因为我自作自受,霉运连连让我乱了阵脚,最后的一个大悲剧直接把我将死了!我没有编写出来一个成功的程序,以失败告终!我完了,Oh,myGod!5.2过程分析唉!因为自己眼光不够敏锐,没有选择正确的题目,一开始选择了邮件收发程序,当框架做好以后,开始实现各种功能了,才发现自己并不明白MAPI是怎么一回事,到处查也不是很会用,协议更没搞清楚,而且也不知道应该调用哪个系统函数来实现附件的添加,并且第三步由于协议问题也没头绪,联想到上学期做了好久也没搞出个好程序的经验,我就果断放弃了,改做文件编辑,结果又是因为搞不清怎么调出资源管理器搞的头皮发麻,最后又是悲剧的放弃了,现在一想都后悔啊!意志太不坚定了,就那么个小困难就把我给吓到了,唉!折腾了两天半已经是星期三的下午了,眼看期限快到了,我没办法,急得要命,没办法,这时候想起来老师曾经说过网上的媒体播放器很多,于是就到网上去搜了一个,结果一弄。
多媒体播放器的使用》教学设计

多媒体播放器的使用》教学设计一、案例背景(一)分析1.教材分析:我校初一年级选用的是人民教育出版社出版的三年制、四年制初级中学教科书,在本教材中并没有将媒体播放器作为一节独立的课程来设置,它是在第一单元初步知识与基本操作中,第三课windows的基本操作中,用“计算机听音乐,用计算机看影片”的方式简单介绍了计算机可以听音乐、可以看影片。
2.学情分析:多媒体电脑已经应用到了社会的各个领域,图、文、声、像的有机结合使计算机吸引了无数中学生的眼球,而媒体播放器正是播放视频、音频文件的载体,随便在网上搜一搜,上百种的媒体播放器让人眼花缭乱,无从选择。
而学生对各种媒体信息都非常敏感,处于这个年龄段的孩子更喜欢从网上寻找一些小动画,或是流行歌曲等媒体信息并以此为时尚,以此为一种“炫耀”自己的途径。
而只有通过媒体播放器才可以显示不同的媒体信息,因此,我想让学生了解几种常用媒体播放器的功能及使用方法,以此让他们发现不同的媒体播放器是“各有千秋”,通过两、三种媒体播放器的功能展示,使学生能够举一反三地掌握使用媒体播放器的一些小技巧。
(二)教学目标1.了解几种常用媒体播放器的主要特点及主要应用领域;2.掌握用媒体播放器播放光盘及其它存储设备上的视频及音频文件;3.掌握利用超级解霸截取所需要的视频文件及图像文件。
(三)重难点、问题预测及对策重难点:1.掌握用不同的媒体播放器播放各种媒体文件;2.能用超级解霸截取需要的视频文件及图像文件,并能正确保存。
问题预测:1.大多数学生可能只会打开光盘内的视频或音频文件,而且可能只掌握一种方法,当遇到问题时,不会用另一种方法去解决;2.学生截取视频文件后可能会陶醉在成功的喜悦中,忽略了保存文件的关键步骤,而很多学生可能存在保存后找不到保存文件的具体位置。
对策:1.找多组同学示范用不同的方法成功打开视频文件或音频文件的例子,发挥学生学习的积极性,充分享受当“教师”传授别人知识的乐趣;2.强调截取视频文件的四大关键步骤,教师先示范操作,学生以竞赛的方式看谁先学会并演示示范。
mplayer课程设计

mplayer课程设计一、课程目标知识目标:1. 学生能理解Mplayer多媒体播放器的功能及操作方法。
2. 学生能掌握Mplayer中常用快捷键的使用。
3. 学生了解多媒体文件格式及其特点。
技能目标:1. 学生能够独立安装并配置Mplayer播放器。
2. 学生能够运用Mplayer播放本地及网络多媒体文件。
3. 学生能够解决在使用Mplayer过程中遇到的基本问题。
情感态度价值观目标:1. 培养学生对多媒体技术及开源软件的兴趣,增强信息素养。
2. 培养学生团队协作意识,学会分享和交流。
3. 培养学生遵守网络道德规范,尊重知识产权。
课程性质:本课程为信息技术学科,以实践操作为主,理论讲解为辅。
学生特点:六年级学生对计算机操作有一定的基础,对新鲜事物充满好奇心,善于模仿和探究。
教学要求:注重理论与实践相结合,关注学生个体差异,鼓励学生主动探索,培养学生解决问题的能力。
通过本课程的学习,使学生能够掌握Mplayer多媒体播放器的使用,提高信息技术应用能力。
二、教学内容1. Mplayer播放器简介:介绍Mplayer的基本功能、特点及其在多媒体播放领域的地位。
2. Mplayer安装与配置:讲解如何下载、安装Mplayer,以及基本的配置方法。
- 教材章节:第二章第二节- 内容列举:安装包下载、安装步骤、配置文件编辑3. Mplayer操作方法:教授Mplayer的界面操作、播放控制、快捷键使用等。
- 教材章节:第二章第三节- 内容列举:播放/暂停、快进/快退、音量调节、全屏切换等快捷键操作4. 多媒体文件格式及播放:介绍常见多媒体文件格式,如何使用Mplayer播放不同格式的文件。
- 教材章节:第二章第四节- 内容列举:AVI、MP4、MKV等格式特点及播放方法5. Mplayer进阶应用:探讨如何解决播放问题、优化播放效果等高级应用。
- 教材章节:第二章第五节- 内容列举:字幕加载、画面比例调整、音轨切换等教学内容安排与进度:第一课时:Mplayer播放器简介、安装与配置第二课时:Mplayer基本操作方法第三课时:多媒体文件格式及播放第四课时:Mplayer进阶应用及问题解决三、教学方法针对本课程的教学目标和内容,采用以下教学方法:1. 讲授法:对于Mplayer的基本概念、安装与配置方法、多媒体文件格式等理论知识,采用讲授法进行教学。
VC课程设计--多媒体播放器

课程设计课程名称可视化编程(VC)学院计算机科学与技术学院专业软件工程班级1202姓名指导教师2013——2014学年第2学期目录1.设计题目及要求 (3)2.基本功能描述 (4)3.软件设计模块 (6)3.1文件的打开模块 (6)3.2文件的播放模块 (9)3.3文件的停止模块 (9)3.4全屏模块 (9)3.5快进、快退模块 (9)3.6换皮肤模块 (10)3.7音量调节模块 (12)3.8窗口隐藏模块 (12)3.9文件暂停模块 (12)4.运行结果 (13)5.设计过程中遇到的问题和感想 (15)6.参考文献 (16)一、设计题目及要求1.1设计题目基于MFC的多媒体播放器系统1.2题目要求1.制作一个具有自己设计风格的媒体播放器。
2.要求能随机选取要播放的文件,实现前进,回退,暂停,循环播放,音量大小调节等基本功能。
3.要求能播放多种格式(至少四种或四种以上)的音频视频格式文件。
4.可以实现其它附加功能(不在要求范围之内)5.界面良好,功能完善二、基本功能描述本次课程设计制作的多媒体播放器是利用Windows系统自带的Windows Media Player控件,可以分别通过按钮和菜单实现*.mp3、*.mid、*.avi、*wav等媒体文件的打开、播放、暂停、全屏、音量调节、快进、快退、关闭、循环播放等功能。
还通过更换位图的方式,实现了换皮肤功能。
1.打开文件:通过选择文件类型打开不同类型的文件,如果打开的格式不对,消息框会提醒打开正确的格式的文件。
再打开文件前,其他按键不能进行操作。
2.播放文件:开始播放文件。
3.停止播放:停止播放文件。
4.全屏:将播放器变为全屏。
5.快退、快进:实现快退、快进功能。
6.换皮肤:选择沙漠、可爱棒冰、灯塔、郁金香可以为播放器换不同的背景。
7.音量调节:可以实现调大,调小音量的功能。
三、软件设计模块3.1文件的打开模式在WavePlayDlg.h中设定一个int型的全局m_MediaType,通过选择不同的按钮来给m_MediaType赋不同的值,不同的值代表不同的文件格式。
基于labview的多媒体播放器及K歌之王课程设计实验报告

测量总线与虚拟仪器期末综合设计报告1、摘要本次所做的虚拟仪器——多媒体播放器,是基于labview控件Windows Media Player,通过labview对其进行功能扩展。
该虚拟仪器具备播放Windows Media Player所支持的所有格式音频或者视频文件,在此基础上利用本机电脑自带的声卡,实现了时下所流行的“K歌”——声音的录制和存储回放。
本多媒体播放器功能完备,虽然程序实现复杂,但是用户界面操作简单,运行稳定。
2、系统总体设计2.1、系统硬件随着技术的不断发展,目前数据采集技术已经日趋成熟,专业的数据采集卡都已经具备完整的数据采集和处理电路,精确度也在不断地提高,但是其市场价格都普遍偏高,而如今具有DSP (数字信号处理)技术的PC声卡的性能已经很高,完全可以成为一个成熟的数据采集系统,可以很好地适应各种不同的场合,并且具有操作简单、价格低廉、通用性强、稳定实用以及驱动程序升级方便等一系列优点。
本系统硬件采用PC机自带的声卡作为声音信号的数据采集卡,它是实现声波与数字信号互相转换的一种硬件,它搭载的 A /D 和 D /A 转换器可以很方便地实现模拟信号和数字信号的相互转换。
由于声卡采用直接内存读取(DMA)方式传送数据,因此能够极大的降低了CPU的占用率,而且其具有 16 位的 A/D 转化精度,比通常 12 位 A/D 卡的精度高,对于许多工程测量和科学实验来说都是足够高的,其价格却比后者便宜得多,完全符合本系统设计要求。
声卡质量评价的标准主要有采样频率、分辨率、复音数量、声道数量、信噪比和总谐波失真等,其主要的参数介绍如下:⑴采样频率:即每秒钟所能采集到的声音样本的数量。
通常情况下标准的采样频率有11.025KHz、22.05KHz、和44.1KHz三种。
还有更高的采样频率可以保证声音的高保真,目前PC机上的声卡可以实现最高96KHz的采样频率,但是这样会占用更多的存储空间。
多媒体播放器设计

多媒体播放器设计
一、引言
现今,随着国家的信息化政策的实施,多媒体技术在我国的许多企业
得到了广泛的应用,使得传统的传统的媒体,如电视、报纸和广播,变得
越来越少。
新兴的多媒体技术使得人们能够以更直观、更丰富的方式了解
和接受信息。
然而,面对多媒体的发展,仍然有一些突出的问题需要解决。
为此,设计一款多媒体播放器来解决这些问题是很有必要的。
二、主要功能
1.多媒体播放器首先可以播放各种格式的多媒体文件,包括MP3、WMA、WMV、AVI、RMV、MOV、MP4、FLV等等,并且支持各种分辨率,从
320×240到1920×1080,或更高。
2.多媒体播放器还可以支持多种输出设备,如大屏幕电视、投影仪、
液晶显示屏等,方便用户将多媒体文件分享给大家。
三、硬件要求
1.多媒体播放器的硬件要求非常高。
(2024年)多媒体课程设计报告

2024/3/26
开发在线测试与评估系统,实时了解 学生的学习情况和掌握程度,为教学
提供有力支持。
虚拟现实技术应用
利用虚拟现实技术,创建虚拟场景和 角色,为学生提供沉浸式的学习体验 。
多媒体教学资源整合
将各种多媒体教学资源进行整合和优 化,构建多元化、立体化的教学资源 体系,提高教学效果和质量。
18
2024/3/26
拓展课程内容
在保证基础知识掌握的前提下,拓展课程内容,增 加一些高级主题和选修内容,满足不同学生的需求 。
鼓励学生创新实践
通过课程设计和实验等环节,鼓励学生进行 创新实践,培养学生的创新能力和实践能力 。
10
03
教学方法与手段选择
2024/3/26
11
传统教学方法回顾与总结
讲述式教学
等。
整合相关知识点
02 将分散的知识点进行整合,形成完整的知识体系,便
于学生理解和掌握。
划分知识模块
03
根据知识点的内在联系,将课程内容划分为若干个知
识模块,每个模块包含相对独立的知识点群。
2024/3/26
8
重点难点分析及解决方案
分析重点难点
通过教学经验和学生反馈,分析 多媒体课程中的重点和难点,如 多媒体数据压缩、多媒体通信等 。
26
THANKS
感谢观看
2024/3/26
27
培训目标和内容。
培训计划制定
根据培训需求,制定具体的培 训计划,包括培训课程、培训 方式、培训时间和地点等。
培训资源准备
准备必要的培训资源,如培训 教材、教学设备、网络资源等
,确保培训的顺利进行。
培训实施与评估
按照培训计划进行培训,并对 培训效果进行评估,及时调整
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2016-2017学年第一学期《Windows程序设计》课程设计报告题目:多媒体播放器设计专业:班级:姓名:指导教师:成绩:学院二0一六年十一月十五日目录1.设计目的及要求 (1)1.1设计目的 (1)1.2设计要求 (1)2.功能介绍 (1)2.1开发环境 (1)2.2 功能介绍 (2)2.2.1增加音乐流程 (2)2.2.2删除音乐流程 (3)2.2.3音乐播放流程 (3)2.2.4音乐播放进度控制流程 (4)2.2.5 上一曲 (4)2.2.6下一曲 (4)2.2.7音量控制 (4)2.2.8界面改变 (4)3.系统设计与实现 (4)3.1成员函数 (5)3.2模块搭建 (5)3.2.1主页面设计 (5)3.2.2将歌曲添加进文件的方法 (5)3.2.3添加文件夹中的所有mp3歌曲到文件的方法: (6)3.2.4保存以前添加过的信息: (7)3.2.5 “初始化目录”列表: (7)3.2.6添加歌曲到列表: (8)3.2.7删除歌曲 (8)3.2.8播放方法 (9)3.2.9上一首 (10)3.2.10下一首 (11)3.2.11改变背景颜色 (12)3.2.12改变背景图片 (13)4.设计心得 (15)5.参考文献 (16)6.附录 (17)1.设计目的及要求1.1设计目的目前社会上多媒体播放器系统发展飞快,音频播放软件在人们的日常生活和学习、科研、生产等各个方面有着重要的应用。
因此开发一款实用的多媒体播放器是很必要的。
此次设计拟开发一个简易多媒体播放器,以提高对所学知识的掌握程度,并为开发功能更强大的播放器积累经验。
在实际应用中往往需要对所播放的音频实现随机选取、暂停、调节进度、调节音量、添加播放列表的功能。
因此,需要一个有类似功能的简易媒体播放器,以便实现对音频文件的随机播放、暂停、音量调节、进度调节、添加播放列表的功能。
通过根据现有的知识对软件所需的功能进行评估分析,编写算法最终编写出此程序,本系统实现对音频文件的随机播放、暂停、音量调节、进度调节、添加播放列表的功能,以方便使用。
1.2设计要求音频播放器,是目前使用户选择播放任意格式的音频文件的软件,如酷我、QQ音乐等。
一般的音频播放器都可以支持MP3、MP4、avi等文件格式的播放。
从目前市场的发展情况来看,MP3无疑占据了音频播放器的绝大部分市场;从屏幕来看,MP3的发展经历了无数次的变更;从存储体来看,种类也颇多,其功能真是五花八门,是其他播放器所无法比拟的。
在此次编程设计的音频播放器是通过Windows Media Player控件来实现的,Windows Media Player是一款Windows 系统自带的播放器,支持通过插件增强功能,该软件可以播放MP3、WMA、WAV 等格式的文件。
本次课程设计我通过Windows Media Player实现音频播放器的简单设计,可以实现对音频文件的打开、播放、暂停、继续、停止、视频显示等功能。
对于实现添加文件、播放、停止,都是利用CMidi这个类来存放实现这些功能的函数,需要的时候调用就可以。
至于音频播放器以后的路该怎么走,还要看市场的发展情况以及用户的需求,个性化也是MP3等音频播放器所追求的一个目标。
相信未来音频播放器会越来越个性化、功能化、更方便携带。
2.功能介绍2.1开发环境弹出“选择工具箱项”对话框,然后选择“COM组件”中“Windows Media Player”控件,如2,即可在工具箱面板上安装Windows Media Player工具图1查找Windows Media Player工具图2 Windows Media Player工具导入流程2.2 功能介绍2.2.1增加音乐流程添加到播放列表:在列表区域右侧单击“添加歌曲”,弹出打开本地文件的窗口,可一次添加一首歌曲。
单击“初始目录”可添加多首歌曲到播放列表中。
增加音乐流程图:图3增加音乐曲目流程图2.2.2删除音乐流程选择要删除的歌曲,单击“删除歌曲”,即可从列表中删除此歌曲。
如果要删除的歌曲正在播放,则删除并播放下一曲。
图4 删除音乐流程图2.2.3音乐播放流程双击选中的歌曲可以实现播放功能;直接点击播放器中的播放按钮也可播放选中的歌曲。
图5音乐播放流程图2.2.4音乐播放进度控制流程图6音乐播放进度控制流程图2.2.5 上一曲单击“上一曲”即可播放选中歌曲的上一曲。
2.2.6下一曲单击“下一曲”即可播放选中歌曲的下一首。
2.2.7音量控制直接点击播放器中的音量控制按钮就可以进行音量控制。
2.2.8界面改变分为背景颜色和背景图片的改变。
3.系统设计与实现3.1成员函数表1成员函数AddFile(string path)添加文件方法AddFiles(string path, ListBox listBox1)添加歌曲文件夹方法addd()初始化button1_Click(object sender, EventArgs e)添加多首歌曲button3_Click(object sender, EventArgs e)添加单首歌曲button2_Click(object sender, EventArgs e) 删除歌曲PlaySong() 音乐播放button4_Click(object sender, EventArgs e) 上一首button5_Click(object sender, EventArgs e) 下一首button7_Click(object sender, EventArgs e) 改变界面图片button8_Click(object sender, EventArgs e) 改变界面颜色3.2模块搭建3.2.1主页面设计图7主页面3.2.2将歌曲添加进文件的方法使用folderBrowserDialog控件,即可打开选择本地文件的窗口,将该控件的属性中的 multiselect 改为true,即可实现一次添加多首歌曲的功能。
public void AddFile(string path){numm++;StreamWriter sw = File.AppendText(file);sw.WriteLine(path + '\n');sw.Flush();sw.Close();}3.2.3添加文件夹中的所有mp3歌曲到文件的方法:private void AddFiles(string path, ListBox listBox1){int num=0;num = listBox1.Items.Count ;DirectoryInfo dir = new DirectoryInfo(path);foreach (FileInfo f in dir.GetFiles("多媒体文件(*.mp3;*.mpg)|*.mp3;*.mpg|(*mp4;*mpg)|*mp4;*mpg|所有文件(*.*)|*.*";){AddFile(f.FullName);this.ListBox1.Items.Add(f.FullName);}}图8 添加MP3播放图9 添加MP4播放3.2.4保存以前添加过的信息:public void addd(){using (StreamReader sr = File.OpenText(file)){string ss = "";while ((ss = sr.ReadLine()) != null){if (ss != ""){this.ListBox1.Items.Add(ss);}}}}3.2.5 “初始化目录”列表:private void button1_Click(object sender, EventArgs e){folderBrowserDialog1.SelectedPath="c:\\"; folderBrowserDialog1.ShowNewFolderButton = true;folderBrowserDialog1.Description = "请选择音乐文件目录"; folderBrowserDialog1.ShowDialog();AddFiles(folderBrowserDialog1.SelectedPath, ListBox1);}3.2.6添加歌曲到列表:private void button3_Click(object sender, EventArgs e){openFileDialog1.Filter = "*.mp3|*.mp3";if (this.openFileDialog1.ShowDialog() == DialogResult.OK){string path = this.openFileDialog1.FileName;FileInfo f = new FileInfo(path);AddFile(f.FullName);this.ListBox1.Items.Add(f.FullName);}}图10 添加重复曲目提示图3.2.7删除歌曲使用listBox的Remove()方法,即可将选项移除,即将选中的歌曲从播放列表中删除。
private void button2_Click(object sender, EventArgs e){int i = 0;if(ListBox1.SelectedIndex==currentplayer){if ((currentplayer + 1) <= (ListBox1.Items.Count - 1)){ListBox1.SelectedIndex += 1;currentplayer = ListBox1.SelectedIndex;PlaySong();}ListBox1.Items.RemoveAt(ListBox1.SelectedIndex-1);}elseListBox1.Items.RemoveAt(ListBox1.SelectedIndex);File.Delete(file);StreamWriter sr = File.CreateText(file);for (i = 0; i < ListBox1.Items.Count; i++){ListBox1.SelectedIndex = i;sr.WriteLine(ListBox1.SelectedItem.ToString() + '\n');sr.Flush();}sr.Close();ListBox1.SelectedIndex = currentplayer-1;}图11删除曲目3.2.8播放方法将openfileDialog的FileName成员赋给多媒体控件的URL成员,即可实现播放。