文档库 最新最全的文档下载
当前位置:文档库 › vc音频播放器(含源文件)

vc音频播放器(含源文件)

vc音频播放器(含源文件)
vc音频播放器(含源文件)

课程设计说明书题目:音频播放器

成绩:

时间:年月日至年月日

课程设计任务书

题目音频播放器

主要内容:

音频播放器,是目前用户选择播放任意格式的音频文件的软件,如酷狗、QQ音乐等。一般的音频播放器,都可以支持MP3、wave、AU、VOC等文件格式的播放。

在此次设计的音频播放其中,可以实现对音频文件的打开、播放、暂停、停止、上一曲/下一曲、歌词显示等操作。对于播放器的界面,可以最小化,并显示到托盘。处于最小化的状态下,依然可以对正在播放的文件进行上述操作。在此播放器中,最具特点的是在各个操作按钮以及整个界面上添加了位图和能将窗口最小化。播放器窗口的建立,也有区别与传统的有菜单显示的窗口。最小化到托盘后,仍可以进行操作,也可以选择退出。对于实现播放、停止、上一曲/下一曲、添加文件,都是利用CMidi这个类来存放实现这些功能的函数。需要的时候调用就可以。为了是界面更美观,让人看起来更舒服,加入了位图背景。目前还没有实现用户根据自己的喜好来更改背景图案。

主要参考资料:

[1]姬涛、周启生,《计算机程序设计基础(上册)》[Z],北京:中国传媒大

学出版社,2010

[2]谭浩强,《C程序设计教程》[Z],北京:清华大学出版社,2007

[3]任哲,《MFC Windows应用程序设计(第二版)》[Z],北京:清华大学出

版社,2007

完成期限:

指导教师签名:

课程负责人签名:

年月日

摘要

音频播放器,是目前用户选择播放任意格式的音频文件的软件,如酷狗、QQ音

乐等。一般的音频播放器,都可以支持MP3、wave、AU、VOC等文件格式的播放。

在此次设计的音频播放其中,可以实现对音频文件的打开、播放、暂停、停止、上一曲/下一曲、歌词显示等操作。对于播放器的界面,可以最小化,并显示到托盘。

处于最小化的状态下,依然可以对正在播放的文件进行上述操作。在此播放器中,最具特点的是在各个操作按钮以及整个界面上添加了位图和能将窗口最小化。播放器窗口的建立,也有区别与传统的有菜单显示的窗口。最小化到托盘后,仍可以进行操作,也可以选择退出。对于实现播放、停止、上一曲/下一曲、添加文件,都是利用CMidi这个类来存放实现这些功能的函数。需要的时候调用就可以。为了是界面更美观,让人看起来更舒服,加入了位图背景。目前还没有实现用户根据自己的喜好来更改背景图案。

通过这次课程设计,更加巩固了我们所学的知识。

目录

摘要..............................................................II

第一章课题背景和概述 (1)

1.1 课题背景 (1)

1.1.1 音频播放器简介 (1)

1.1.2 目的和意义 (1)

1.2 课题概述 (1)

1.2.1 功能简介 (1)

1.2.2 主要工作和理论依据 (1)

第二章设计简介及设计方案论述 (3)

2.1 需求分析 (3)

2.2 系统功能及结构简介 (3)

2.2.1 系统功能 (3)

2.2.2 系统结构 (3)

第三章详细设计 (4)

3.1 界面设计 (4)

3.1.1 播放器界面设计 (4)

3.1.2 按钮上的位图显示 (5)

3.2 各模块功能设计 (6)

3.2.1 各按钮功能的实现 (6)

3.2.2 最小化到托盘 (7)

3.2.3 进度条显示 (7)

第四章设计结果及分析 (8)

4.1 运行结果显示 (8)

4.1.1打开文件并播放 (8)

4.1.2 最小化 (8)

4.1.3 歌词显示 (9)

4.2 结果分析和不足 (9)

总结 (10)

致谢 (11)

参考文献 (12)

附录 (13)

第一章课题背景和概述

1.1 课题背景

1.1.1 音频播放器简介

音频播放器(audio player)是一种可储存、组织与播放音讯档案格式的装置。常被称为“MP3播放器”(因为MP3格式的普遍性),它可以播放很多其他的格式,如WMA,AAC,WAV等。一些格式会跟有限制性的技术 DRM合并, 比如Janus和FairPlay, 一般是一些付费下载网站的一部分。其它一些格式则是完全的专利自由或者在另外一些方面开放,比如OggVorbis,FLAC,Speex (Ogg开放多媒体工程的所有部分),以及Module file格式。

1.1.2 目的和意义

通过独立设计完成制作一个播放器软件,更加理解了MFC单文档和多文档程序的构成框架,以及各个类之间数据传递的关系。同时,对鼠标和键盘的多消息响应有了进一步的认识。在设计制作的过程中,C++语言是基础,在熟悉MFC Windows 程序设计的同时,也复习了C++程序语言设计。

1.2 课题概述

1.2.1 功能简介

本次设计完成的播放器软件,能够支持播放多种格式的音频文件,常见的如MP3,WMA,AAC,WAV等。对正在播放的歌曲,可以进行暂停、停止的操作,也可以任意添加歌曲并选择播放。此播放器也可以最小化和最小化到托盘,方便用户在播放音乐的时候,免受打扰。也可以在最小化到托盘的状态下,退出播放器。本次课程设计,主要是检验这一学期,我们通过对MFC Windows应用程序设计这门课学习,能够把所学的知识应用到实际的能力。

1.2.2 主要工作和理论依据

MFC类库将所有图形用户界面的元素如窗口、菜单和按钮等都以类的形式进行了封装,MFC AppWizard向导根据继承性利用MFC派生出自己的类,并对Windows应用程序进行了分解,利用MFC派生类对应用程序重新进行组装,同时还规定了应用程序中各个MFC派生类对象之间的相互联系,实现了标准Windows应用程序的功能,这就是向导生成的所谓MFC应用程序框架。每个MFC类都包括了一些函数,函数放到类中,符合C++编程方法。这些函数,必须通过类定义对象才能使用。

在本次设计中,首先,理清课程设计和编写程序的思路,明确程序中所要用到的函数,并做好了解。然后,再利用C++类的继承与派生原理来构造所需要的类,编写实现每项功能的详细代码。利用MFC提供的菜单资源来创建菜单,通过类向导建立类,函数,或者消息响应,来实现播放器的各种功能。采用不同的Windows提供的坐标系统和对话框资源,并利用设备环境来绘制和更新图形,使播放器的界面更加美观,实现较好的人机交互界面。

第二章设计简介及设计方案论述

2.1 需求分析

随着社会的发展,有越来越多的人接触电脑,也有越来越多的人喜欢在上网、工作的时候,播放一点音乐,娱乐一下,缓解一下。所以,应运而生的是音频播放

器软件,能够为用户播放常见的格式音频文件。并且,在使用的过程中,也尽可能设计出一些人性化的设计。比如,能最小化到托盘并可以进行操作。良好的人机交互界面,也能给人以美好的感官享受。

2.2 系统功能及结构简介

2.2.1 系统功能

此音频播放器可以播放多格式的音频文件。在播放的时候,需要打开本地的音乐文件,选择想要打开的文件,点击播放便可以播放。

在播放的过程中,如果有事离开想要停止播放,可以点击暂停按钮,等到需要的时候,仍然可以点击播放,继续播放。如果需要退出,点击关闭按钮即可。如果是出于最小化到托盘的状态,点击右键选择退出即可。如果想换首歌,点击下一首或者上一首的按钮便可以了。

对于想详细了解歌曲歌词内容,点击界面上的“歌词按钮”,便可以显示歌词。为了能够让在进行其它操作的用户不受打扰,可以将此播放器最小化到托盘。与此同时,用户依然能够通过点击鼠标右键进行相关的操作。

2.2.2 系统结构

此播放器编写的时候,利用的是MFC单文档程序的构成框架,然后再利用Windows提供的资源,运用控件,自己制作了对话框和人机交互界面。在制作界面的同时,也制作了各个按钮,并完成各个按钮的消息响应,便完成响应函数实现了功能。

第三章详细设计

3.1 界面设计

3.1.1 播放器界面设计

此播放器的界面是利用控件和位图的结合制作出来了。

打开VC C++6.0新建一个工程,选择单文档。便生成了一个窗口。然后打开ResouceView,点开Dialog,插入Dialog,利用控件,绘制各个按钮。为了使各个按钮更加美观,使用位图,用自己收集的图片将各个按钮覆盖,最后添加消息响应函数,实现各个功能。

为了使所引入的位图能够和所绘制的窗口能完全吻合,在OnPaint()函数中,调用StretchBlt()函数,让其从源矩形中复制一个位图到目标矩形,必要时按目前目标设备设置的模式进行图像的拉伸或压缩。

图3-1按钮控制

最后生成的界面比较美观,给人的感觉良好

图3.2播放器界面

3.1.2 按钮上的位图显示

为对话框添加9个按钮(Button),在Styles标签中选中Bitmap属性。将它们的ID分别为

IDC_Play,IDC_Stop_BUTTON,IDC_Next_BUTTON,IDC_Pre_BUTTON,IDC_Add_Song, IDC_Delet_Song,IDC_GC_BUTTON,IDC_MinWindow,ID_CloseWindow以实现对文件的各项操作。将5幅准备好的位图加入资源,其ID分别设为

IDC_Play,IDC_Stop_BUTTON,IDC_Next_BUTTON,IDC_Pre_BUTTON,IDC_Add_Song

,IDC_Delet_Song,IDC_GC_BUTTON,IDC_MinWindow,ID_CloseWindow,分别和5个按钮相对应。然后,在ClassWizard里为每个按钮分别添加一个CBitmapButton型的变量,分别命名为

m_BitmapBtn_Delete;m_BitmapBtn_Stop;m_BitmapBtn_MinWindow;m_BitmapBt n_MaxWindow;m_BitmapBtn_CloseWindow;m_BitmapBtn_NextSong;m_BitmapBtn_UpS ong;m_BitmapBtn_paly;m_BitmapBtn_Add;m_BitmapBtn_GC;以对按钮进行操作。

3.2 各模块功能设计

3.2.1 各按钮功能的实现

(1)处理“打开”按钮

单击“打开”按钮后,在OnAddSong()函数中,首先对文件类型进行过滤,调用OpenFiles()函数打开对话框选择一个音频文件,通过InitPath()函数获取文件路径,通过InitPath()函数获取文件名后,调用SaveList()函数在Static Text控件上显示你所选择的歌曲文件名,然后再单击播放按钮,便可以播放歌曲。

(2)处理“播放”按钮

单击“播放”按钮后,在OnPlay()函数中,通过调用Midi类中的Open()函数

获取刚才选择的文件路径以及文件名,调用该类的Midi类中的Play()函数播放歌曲,此时调用DisplayInfo()函数在Static Text控件上显示正在播放的歌曲,进行歌曲的播放,然后利用GetDlgItem()函数设置“播放”按钮不可用。

(3)处理“停止”按钮

单击“停止”按钮后,在OnStopBUTTON()函数中,首先通过调用Midi类的Stop()函数停止正在播放的歌曲,此时的歌曲处于暂停时的进度上,利用GetDlgItem()函数设置“播放”按钮可用。

(5)处理“上一曲/下一曲”按钮

单击“上一曲”按钮时,在OnNextBUTTON()函数中,通过调用Midi类中的Next()函数,停止当前播放放的歌曲,并播放当前列表中的下一曲。“下一曲”按钮的处理与“上一曲”类似。

(6)处理“最小化”按钮

单击“最小化”按钮时,在OnMinWindow()函数中,通过调用ToTray()函数,将当前显示的窗口最小化,并显示在任务栏,在此情况下,仍就可以进行上述操作。

(7)处理“歌词”按钮

单击“歌词”按钮时,会在原有的窗口之外再弹出一个窗口,以此来显示歌词。这需要在这整个工程中新建一个GECI类,来绘制显示歌词的窗口。整个绘制的过程,与界面的设计是相类似的。

(8)处理“关闭”按钮

单击“关闭”按钮后,在OnCloseWindow()函数中,调用CDialog类的OnOK()函数将退出对话框,结束程序的运行。

3.2.2 最小化到托盘

单击“最小化”按钮时,在OnMinWindow()函数中,通过调用ToTray()函数,当先窗口会被最小化至托盘。在这个过程中,ToTray()函数只能实现最小化,并不能实现在最小化的情况下进行操作。

在最小化至托盘后,要进行操作,就定义了一个OnShowTask(WPARAM wParam,LPARAMlParam)的函数,利用if、switch语句进行判断。首先要通过鼠标的行为来获取最小化之后图标的ID。得到响应后,单击右键,显示弹出式menu。

menu.AppendMenu(MF_STRING,IDC_Next_BUTTON,"下一曲");

menu.AppendMenu(MF_STRING,IDC_Pre_BUTTON,"上一曲");

menu.AppendMenu(MF_STRING,IDC_Stop_BUTTON,"停止");

menu.AppendMenu(MF_STRING,IDC_Play,"播放|暂停");

menu.AppendMenu(MF_STRING,WM_DESTROY,"退出");

由此来确定弹出式菜单的位置。点击后,鼠标得到响应,并执行操作。如果

想恢复到原来的窗口,双击最小化后任务栏内的图标显示,鼠标由

WM_LBUTTONDBLCLK实现双击响应后,便会回到原来的窗口。在此同时,通过调用DeleteTray()函数,来删除任务栏里最小化后的图标。

3.2.3 进度条显示

进度条在前进的过程中,其总长度应该为歌曲长度。如果想要在一首歌播放完毕后,进度条加好走完,必须先利用GetMediaLength(nLength, bProgress)函数获取歌曲长度,然后利用UpdatePlayTime(BOOL bProgress)函数不断更新歌曲播放的时间,最后通过OnTimer()来实现。

第四章设计结果及分析

4.1 运行结果显示

4.1.1打开文件并播放

点击“添加”按钮,选择想要播放的歌曲,所选择的文件会显示在“播放列表”

中。想要播放哪一首,点击播放即可。

图4-1打开文件并播放

在播放的过程中,依旧存在一些问题。比如,不能通过双击歌曲来达到播放的目的。如果想完成“上一曲/下一曲”的操作,在添加歌曲文件的时候,必须是一次性的添加多首歌曲。如果每次只添加一首,添加多次,便不能完成歌曲之间的更换。

4.1.2 最小化

当需要最小化是,点击最小化按钮,窗口将自动最小化到托盘。

最小化时,单击右键会出现如图所示的菜单。单击菜单中的选项,也可以完成操作。

4.1.3 歌词显示

点击“歌词”按钮时,会弹出另一个窗口来显示歌词。由于没有导入歌词文本,所以歌词内容无法显示。

4.2 结果分析和不足

虽然说这次的设计结果,从表面上看来,基本功能是实现了。但依旧还是存在很多不足。最突出的就是进度条的问题。

进度条在前进的过程中,其总长度应该为歌曲长度。如果想要在一首歌播放完毕后,进度条加好走完,必须先利用GetMediaLength(nLength, bProgress)函数获取歌曲长度,然后利用UpdatePlayTime(BOOL bProgress)函数不断更新歌曲播放的时间,最后通过OnTimer()来实现。

但是在设计的过程中,编译和连接都没有错误,却不能运行处预料的结果,还有明显的错误。在网上查阅资料的过程中,也没有找到解决的办法。

总结

这一次的课程设计,对我个人来说是相当有难度的。在设计的过程中,有很多问题不是很清楚,所以走起来就很困难。有时候在遇到问题的时候,基本知识都了解,但是不知道怎么把他们整合起来,知识没有形成系统,都是很零散的东西。而且,由于以前的基础知识不够牢固,是的我在这次课程设计中感到更加的困难。

在设计的过程中,每走一步就会发现,思路想出来很容易,但涉及到实现的时候,总是有点手足无措。对于我的这次课程设计,里面还有很多要改进的地方。在播放器的界面上虽然有音量的调节,但是没有有真正的实现;歌词的具体内容额没有关联上来。

当然一个程序的顺利出炉,少不了的就是反复的调试和更改。在调试的过程中,总会发现很多错误,在解决这些错误的同时,开始很模糊的概念,就会越来越清晰。其实有很多错误都是很类似的,只要解决了一个,其他的也就迎刃而解了。

其实,这一个程序的完成,并不是我一个人的功劳。有很多不懂的地方就会向别人请教,同学之间的相互帮助,确实能够解决很多问题。

致谢

特别感谢MFCWindows应用程序设计老师的悉心指教和帮助,特别是在上课时候的细心讲解和实验过程中详细的演示,让我更加清楚的了解了各个知识点的运用。

通过这一次的课程设计,让我学到了更多的知识,也把以前掌握不熟练的知识,能更加灵活地运用了。

谢谢!

参考文献

[1]姬涛、周启生,《计算机程序设计基础(上册)》[Z],北京:中国传媒大学出版社,2010

[2]谭浩强,《C程序设计教程》[Z],北京:清华大学出版社,2007

[3]任哲,《MFC Windows应用程序设计(第二版)》[Z],北京:清华大学出版社,2007

附录

1.1 Cmidi类中的函数

// Midi.cpp

#include "stdafx.h"

#include "Midi.h"

CMidi::CMidi() { m_totalFiles=0; fr=0; cdfrom=0;

m_MusicFilePath=""; PlayingFalg=false; Ispause=false;

}

CMidi::~CMidi() { }

//------------播放--------------------- bool

CMidi::Play() {

if(PlayingFalg) //正在播放则暂停 Pause() else { if(Ispause) { mciSendCommand(m_count,MCI_RESUME,0,NULL); PlayingFalg=true; Ispause=false;

} else {

PlayingFalg=true;//标志为正在播放 MCI_OPEN_PARMS mciopenparms;//打开MCI_PLAY_PARMS mciplayparms;//播放

//以下用fr做下标,能在停止再播放时恢复上次的位置mciopenparms.lpstrElementName=m_FileList[fr];//播放路径

mciopenparms.lpstrDeviceType=NULL;//文件类型为NULL,就可以支持全部类型mciSendCommand(0,MCI_OPEN,MCI_DEVTYPE_WAVEFORM_AUDIO,

(DWORD)(LPVOID)&mciopenparms);//向MCI设备发送命令消息

m_count=mciopenparms.wDeviceID;

mciplayparms.dwCallback=NULL;//窗口拥有者句柄

cdlen=getinfo(MCI_STATUS_LENGTH);//得到曲目长度

cdto=MCI_MAKE_HMS(MCI_HMS_HOUR(cdlen),MCI_HMS_MINUTE(cdlen),

MCI_HMS_SECOND(cdlen));//根据长度计算出时、分、秒

mciplayparms.dwFrom=MCI_MAKE_HMS(0,0,0);//表示从哪儿开始播放吧mciplayparms.dwTo=cdto;//表示放到哪儿为止

mciSendCommand(m_count,MCI_PLAY,MCI_TO|MCI_FROM,

(DWORD)(LPVOID)&mciplayparms); //发送播放消息

}

} return true;

}

//---------------获取歌曲信息(长度,已播放长度)------ DWORD CMidi::getinfo(DWORD item) { MCI_STATUS_PARMS mcistatusparms; mcistatusparms.dwCallback=NULL;

/*

//接受传入的命令参数,这是关键。命令参数如下:

获取歌曲长度:MCI_STATUS_LENGTH 获取当前已播放的长度:MCI_STATUS_POSITION */ mcistatusparms.dwItem=item;//接受命令参数的地方mcistatusparms.dwReturn=0;//返回值

mciSendCommand(m_count,MCI_STATUS,MCI_STATUS_ITEM,(DWORD)&mcistatusparms

); return mcistatusparms.dwReturn;

}

//-------------------停止------------------- void CMidi::Stop() { PlayingFalg=false;//关闭正在播放标志

cdfrom=MCI_MAKE_HMS(0,0,0);//播放位置归文件开头

mciSendCommand(m_count,MCI_CLOSE,0,NULL);//发出关闭消息 m_count=0;

}

//-------------------下一首---------------- void CMidi::Next() { if(fr>=0) { fr++;

if(fr>=m_totalFiles) {

//让fr指向下一个音乐文件,fr是从0下标开始

//m_totalFiles为总文件数 fr=0;

} Stop();

Play();

}

}

//----------上一首------------------ void CMidi::Per() { if(fr>=0) { fr--; if(fr==-1)

{//指向最后一首歌,但fr是从0下标开始的,而m_totalFiles是从1开始

fr=m_totalFiles-1;

} Stop();

Play();//播放fr指向的位置

}

}

//----------保存曲目列表----------------- boolCMidi::SaveList() { CFilefileList;//文件对象

if(!fileList.Open(m_MusicFilePath,CFile::modeCreate|CFile::modeWrite)) return FALSE;//打开文件,不存在则创建,写文件

charfileName[256];

for(int i=0;i

{//m_totalFiles为打开对话框中获取的歌曲总数strcpy(fileName,m_FileList[i]);//取出一条曲目路径fileList.Write(fileName,strlen(fileName));//写入文件fileList.Write("\r\n",2);//写入一行结束和换行符

}

fileList.Write("----",4);//写入文件最后标志 fileList.Close();//关闭文件return TRUE;

}

//----------读取曲目路径列表----------------- boolCMidi::OpenList() { CFilefileList;

if(!fileList.Open(m_MusicFilePath,CFile::modeNoTruncate|CFile::modeRead)

)

return FALSE;//以只读模式打开,不覆盖原有文件,m_MusicFilePath为列表文件

的路径

charch; while(1) { CStringfileName;

fileList.Read(&ch,1);//读入一个字符

if(ch=='-') break; //如文件是最后返回,-是文件最后的标志fileName+=ch;//否则存入 while(1) {//读入一行 fileList.Read(&ch,1); if(ch=='\r')

{//这儿可以判断是一行了m_totalFiles++;//曲目首数计数fileList.Read(&ch,1); break;

}

fileName+=ch;

}

//下面这句把路径加入列表中,用字符串数组代替 //m_totalFiles前

面已经加一了,所以这儿要少一个 m_FileList[m_totalFiles-1]=fileName;

}

fileList.Close(); return TRUE;

}

//----------打开对话框,获取曲目列表----------------- boolCMidi::OpenFiles() {

CFileDialog f(true);//打开对话框对象

f.m_ofn.Flags |=512;//OFN_ALLOWMULTISELECT;目录列表方式

f.m_ofn.lpstrFilter="所有媒体类型\0*.*\0\0"; if(f.DoModal()!=IDOK)

return FALSE;//用户单击了“取消”

POSITION pos=f.GetStartPosition();//获取第一个文件位置int i=0; while(pos) { m_FileList[i]=f.GetNextPathName(pos);//读取文件到曲目路径列

表 i++;

}

m_totalFiles=i;//保存曲目总数

Stop(); if(PlayingFalg)

Stop();

//Play();//播放打开的文件 return TRUE;

}

//-------------------获得播放列表文件的路径------------ boolCMidi::InitPath()

{//初始化路径,取得播放曲目列表文件的全路径 TCHAR path[256];//保存文件路

GetModuleFileName(NULL,path,sizeof(path)) //获取当前程序路径 TCHAR * p =

_tcsrchr(path,_T('\\')) ;//查找最后一个'\\'字符 if(p)

lstrcpy(p,_T("\\MPlayer.mdr"));//替换成要查找的完整路径

m_MusicFilePath=path;//保存到路径变量中,以便用它来打开列表文件 return

true;

}

//----------------------循环播放------------------ void CMidi::OnTimer()

{//循环播放

if(getinfo(MCI_STATUS_POSITION)==cdlen) {//如当前播放的长度等于歌曲

的长度,说明已经播放完毕 Next();//指向下一首

}

}

//----------------------暂停播放------------------ void CMidi::Pause()

{ PlayingFalg=false;//关闭正在播放标志

mciSendCommand(m_count,MCI_PAUSE,0,NULL); Ispause=true;

}

1.2 最小化的相关操作

/////////////////////////////////////最小化到托盘开始///////////////////

void CMy2009Dlg::ToTray() { NOTIFYICONDATA nid;

nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA); nid.hWnd=this->m_hWnd;

nid.uID=IDR_MAINFRAME;

nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP

nid.uCallbackMessage=WM_SHOWTASK;//自定义的消息名称

nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME)

);

strcpy(nid.szTip,"v2009音频播放器"); //信息提示条

Shell_NotifyIcon(NIM_ADD,&nid); //在托盘区添加图标 ShowWindow(SW_HIDE); //

隐藏主窗口

}

/////////////////////////////////////最小化到托盘结束///////////////////

//wParam接收的是图标的ID,而lParam接收的是鼠标的行为

LRESULT CMy2009Dlg::OnShowTask(WPARAM wParam,LPARAMlParam)

{ if(wParam!=IDR_MAINFRAME)

return 1;

switch(lParam) {

case WM_RBUTTONUP://右键起来时弹出快捷菜单,这里只有一个“关闭”

{ LPPOINT lpoint=new tagPOINT; ::GetCursorPos(lpoint);//得到鼠标位置 CMenu

menu;

menu.CreatePopupMenu();//声明一个弹出式菜单

//增加菜单项“关闭”,点击则发送消息WM_DESTROY给主窗口(已

//隐藏),将程序结束。

menu.AppendMenu(MF_STRING,IDC_Next_BUTTON,"下一曲"); menu.AppendMenu(MF_STRING,IDC_Pre_BUTTON,"上一曲"); menu.AppendMenu(MF_STRING,IDC_Stop_BUTTON,"停止");

基于labview的音乐播放器设计

成绩: 《虚拟仪器技术及应用》 课 程 设 计 题目:基于LabVIEW的音乐播放器程序设计 学期:2013~2014学年第一学期 指导教师: 姓名: 学号: 年级、专业:

目录

基于LabVIEW的MP3程序设计 1程序设计背景 MP3是利用人耳对高频声音信号不敏感的特性,将时域波形信号转换成频域信号,并划分成多个频段,对不同的频段使用不同的压缩率,对高频加大压缩比(甚至忽略信号)对低频信号使用小压缩比,保证信号不失真。 MP3的工作原理:从内存中取出并读取存储器上的信号→到解码芯片对信号进行解码→通过数模转换器将解出来的数字信号转换成模拟信号→再把转换后的模拟音频放大→低通滤波后到耳机输出口,输出后就是我们所听到的音乐了。 经过几年的发展MP3已经走进了千家万户,使用者也遍布各个年龄段和各个文化阶层。从最初的简单MP3播放器,到现在的手机,平板等便携设备自带的MP3播放器,MP3播放器已经走向大众,并演化为人们生活不可缺少的一部分,车上会有车载MP3,电脑手机平板上的MP3也是必不可少,总之,已经人们时时刻刻都已经在享受着MP3带来的快乐。 2程序设计思路 2.1程序整体设计思路 该虚拟仪器—MP3播放器,主要用于播放已存储计算机磁盘中的音乐文件。它是将播放器的系统装入计算机,以通用的计算机硬件及操作系统为依托,实现音乐功能的。VI程序设计里,默认容易识别的格式为WAV格式,所以在设计MP3时采取调用的方法,本系统主要利用labview的Activex,属性节点,调用节点,Eventstructure等控制实现的。MP3音乐播放器界面包括播放歌曲名字,播放路径以及停止按钮。 2.2程序流程设计 程序流程设计:设定路径,判定路径是否有效→无效报错;有效,执行下一阶段程序→调用媒体播放器,编写歌名显示和文件路径显示,设置停止功能按钮→程序结束。 本程序主要涉及到一下控件或结构的使用: (1)事件结构:包括一个或多个子程序框图或事件分支,结构执行时,仅有一个子程序

音乐播放器前十排行

音乐播放器前十排行 1、QQ音乐 QQ音乐是腾讯公司推出的网络音乐平台,是中国互联网领域领先的正版数字音乐服务的领先平台,海量乐库在线试听、卡拉ok歌词模式、最流行新歌在线首发等,绿钻用户还可享受高品质音乐试听、正版音乐下载、MV观看等特权。 QQ音乐目前是国内音乐APP的绝对龙头,2016年底其曲库已经超过2000万首,旗下拥有的版权也是音乐APP中的第一,如索尼、华纳、杰尔威、英皇、韩国YG等,其市场份额也超过50%。虽然总有人吐槽QQ音乐,但是十大音乐APP排行榜第一位毫无悬念。在此前评选的全球音乐流服务排行榜,QQ音乐排名第四。 2、虾米音乐 虾米音乐版权建设虽然起步较晚,歌曲量在整体版权音乐中的比例低于20%,但在华语资源上仍具有一定优势。你想要听到华研唱片下的林宥嘉、S.H.E和田馥甄、相信音乐的五月天、梁静茹以及聚集了李宗盛、周华健等人的滚石,还是要投入虾米音乐的怀抱。而且虾米也在去年取得了韩国SM公司的音乐版权,这在国内来说,争取到了很大一部分的韩粉。虽然无法对QQ音乐造成威胁但依旧稳居十大音乐APP排行榜第二。 3、网易云音乐 网易云音乐不用再过多介绍了,近两年大火的音乐APP,口碑爆棚,市场份额目前也达到15%,局国内第二仅次于QQ音域。为何口碑份额双丰收的网易云音乐仅列十大音乐APP排行榜第三?网易云音乐的版权数量实在太少,并且官方也并不太重视版权的购买,虽然网易云音乐的版权音乐歌曲量占整体版权音乐的70%左右,但非常有意思的是大部分的版权都是通过转授权获得的。

4、酷狗音乐 酷狗音乐是一款集中播放、音乐效果、在线下载歌词等众多功能于一身,完全免费的手机音乐播放器。酷狗算是老牌音乐APP了, 但此前酷狗和酷我同QQ音乐一起加入新音乐集团,三大音乐APP曲 库资源基本互通,而且音乐伴奏资源众多也是酷狗的一大优势,喜 欢唱歌的人通常都是用酷狗搜索放伴奏唱歌、录歌。 不过酷狗的音质是劣势,对于耳朵挑剔的乐迷,对音质要求高的人来说很难满足。 5、咪咕音乐 咪咕音乐是一款面向所有用户的手机音乐APP,它包含了在线听歌、下载歌曲、订购彩铃以及开通会员等功能和业务,用户通过咪 咕音乐可以第一时间聆听中国移动无线首发的最新音乐,感觉最热 最流行歌曲,实时了解最新音乐咨讯及娱乐新闻,并可通过软件行 使无线音乐俱乐部会员权益。目前该软件已经覆盖市面上高中低端 主流机型,无论你是何种手机,均可轻松安装和使用。 6、酷我音乐 酷我音乐是中国数字音乐的交互服务品牌,是互联网领域的数字音乐服务平台,同时也是一款内容全、聆听快和界面炫的音乐聚合 播放器,是国内的多种音乐资源聚合的播放软件。自平台成立以来,酷我音乐作为前端潮流音乐的重要推手,率先与唱片公司、版权管 理机构合作探索发展,免费向广大用户提供方便流畅的在线音乐, 还有免费无损音乐方便用户的试听和下载,生成了丰富的音乐流媒 体生态系统。 7、天天动听 天天动听是一款功能强大、完全免费的手机音乐播放软件,支持歌词和歌曲图片下载,简洁人性化的操作,带来手机听歌的全新体验,是拇指一族必备的音乐播放工具。 8、百度音乐

音乐播放器(VB编程源代码)

音乐播放器设计一、先来欣赏一下本音乐播放器的最终效果吧:

设计思路很简单,即下面两个窗体的设计。 二、主窗体(form1)界面设计如下: 主窗体(form1)代码如下: Dim t As Integer, a As Boolean Dim p As Integer, b, w As Boolean, one Private Sub allclear_Click() '清空播放列表 List1.Clear

WMP1.currentPlaylist.Clear Form1.Caption = "无任何曲目" End Sub Private Sub allloop_Click() '全部循环播放 Timer3.Enabled = False allloop.Checked = True oneloop.Checked = False rand.Checked = False rule.Checked = False Call WMP1.settings.setMode("loop", True) End Sub Private Sub Form_Load() '初始化 Form1.Height = 7800 w = False allloop.Checked = False oneloop.Checked = False rand.Checked = False rule.Checked = True Label2.Caption = "00:00" '第一次打开时创建文件 If Dir("filepath.text") = "" And Dir("C:\music.txt") = "" Then Open "C:\filepath.txt" For Output As #1 Close #1 Open "C:\music.txt" For Output As #2 Close #2 End If '读取文件 Open "C:\filepath.txt" For Input As #1 Open "C:\music.txt" For Input As #2 Do While Not EOF(1) Input #1, X Input #2, Y If Dir(X) <> "" Then List1.AddItem (List1.ListCount + 1) & "." & Y Call WMP1.currentPlaylist.insertItem(WMP1.currentPlaylist.Count, WMP1.newMedia(X)) End If Loop

音乐播放器的详细设计

音乐播放器详细设计 1.引言 随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,音乐成了我们生活工作中的一个重要的部分。而3G时代的到来,手机移动应用越来越普遍。此文档就是为了能更好地设计出一个基于android系统的音乐播放器而编写的。 1.1 编写目的 为软件的开发者能更好的理解和明确软件开发的详细过程,安排项目与进度、组织软件开发与测试,撰写本文档。本文档供项目组成员,软件开发人员参考。1.2项目背景 本项目由李雪梅、杨挺等人提出,由本组成员联合开发,实现播放现今流行的音乐MP3等文本格式。 该软件是基于Android系统的音乐播放软件,并能够与其他音乐播放软件兼容。 1.3 参考资料 [1] 重庆大学出版社《软件工程》“软件计划与可行性分析” [2] 靳岩、姚尚明人民邮电出版社《Android开发入门与实践》 [3] 可行性分析 [4] 《音乐播放器需求分析书》 [5] 《音乐播放器总体设计说明书》 1.4项目开发计划 实施计划:

阶段名称负责人 需求分析杨挺、李雪梅 总体设计李雪梅、杨挺 详细设计李雪梅、杨挺 软件测试李雪梅、杨挺 在技术方面,编程知识比较缺乏,对有些与项目相关的软件 不熟悉,需进行人员的技术培训(自学为主),技术难点是数据库的构架和软件功能的设计。 2. 总体设计 2.1 项目目的 本项目的目的是开发一个可以播放主流的音乐文本格式的播放器。设计的主要实现功能是播放MP3等格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,更改皮肤,歌曲列表文件的管理操作,在线播放,读取 存储卡播放等多种播放控制,界面简明,操作简单。 软件系统检测到错误行为时,报告错误,并提示处理操作。 2.2 软件运行环境 硬件:Android操作系统手机 系统软件:Android 2.2 -- 4.0版本 支撑软件:Eclipse 7.5 、ADT 1.5 2.3 需求概述

MP3音乐播放器软件课程设计报告(MFC)

课程设计说明书 课程设计名称:软件综合课程设计 课程设计题目:音频播放器程序的设计与实现学院名称:信息工程学院

电子信息工程专业课程设计任务书 正文: 目录 引言 (5) 一、设计程序的目的与要求 (6)

目的 (6) 要求 (6) 二、方案实现与调试 (6) 总体设计 (6) 1、实现功能 (6) 2、功能模块图 (7) 详细设计 (7) 1、界面布局 (7) 2、各模块功能设计 (8) 2.1处理“打开”按钮 (9) 2.2处理“播放”按钮 (9) 2.3处理“暂停”按钮 (9) 2.4处理“停止”按钮 (9) 2.5处理“音量”按钮 (10) 2.6处理“退出”按钮 (10) 3 操作步骤 (10) 三、课程设计分析与总结 (11) 分析 (11) 总结 (11) 附录 (13) 关键程序清单 (13)

参考文献 (20) 引言 MP3播放器的设计是利用MFC应用程序、媒体控制接口MIC 的基本知识而设计的。 1.1 MFC简介 MFC是Visual C++是核心。MFC类库将所有图形用户界面的元素如窗口、菜单和按钮等都以类的形式进行了封装,MFC AppWizard 向导根据继承性利用MFC派生出自己的类,并对Windows应用程序进行了分解,利用MFC派生类对应用程序重新进行组装,同时还规定了应用程序中各个MFC派生类对象之间的相互联系,实现了标准Windows应用程序的功能,这就是向导生成的所谓MFC应用程序框架。每个MFC类都包括了一些函数,函数放到类中,符合C++编程方法。这些函数,必须通过类定义对象才能使用[1]。 1.2 MCI简介 MCI(Media Control Interface)媒体控制接口是MircroSoft提供的一组多媒体设备和文件的标准接口,它的好处是可以方便地控制绝大多数多媒体设备包括音频、视频、影碟、录像等多媒体设备,而不

vc音频播放器(含源文件)

课程设计说明书题目:音频播放器 成绩: 时间:年月日至年月日

课程设计任务书 题目音频播放器 主要内容: 音频播放器,是目前用户选择播放任意格式的音频文件的软件,如酷狗、QQ音乐等。一般的音频播放器,都可以支持MP3、wave、AU、VOC等文件格式的播放。 在此次设计的音频播放其中,可以实现对音频文件的打开、播放、暂停、停止、上一曲/下一曲、歌词显示等操作。对于播放器的界面,可以最小化,并显示到托盘。处于最小化的状态下,依然可以对正在播放的文件进行上述操作。在此播放器中,最具特点的是在各个操作按钮以及整个界面上添加了位图和能将窗口最小化。播放器窗口的建立,也有区别与传统的有菜单显示的窗口。最小化到托盘后,仍可以进行操作,也可以选择退出。对于实现播放、停止、上一曲/下一曲、添加文件,都是利用CMidi这个类来存放实现这些功能的函数。需要的时候调用就可以。为了是界面更美观,让人看起来更舒服,加入了位图背景。目前还没有实现用户根据自己的喜好来更改背景图案。 主要参考资料: [1]姬涛、周启生,《计算机程序设计基础(上册)》[Z],北京:中国传媒大 学出版社,2010 [2]谭浩强,《C程序设计教程》[Z],北京:清华大学出版社,2007 [3]任哲,《MFC Windows应用程序设计(第二版)》[Z],北京:清华大学出 版社,2007 完成期限: 指导教师签名: 课程负责人签名: 年月日 摘要 音频播放器,是目前用户选择播放任意格式的音频文件的软件,如酷狗、QQ音

乐等。一般的音频播放器,都可以支持MP3、wave、AU、VOC等文件格式的播放。 在此次设计的音频播放其中,可以实现对音频文件的打开、播放、暂停、停止、上一曲/下一曲、歌词显示等操作。对于播放器的界面,可以最小化,并显示到托盘。 处于最小化的状态下,依然可以对正在播放的文件进行上述操作。在此播放器中,最具特点的是在各个操作按钮以及整个界面上添加了位图和能将窗口最小化。播放器窗口的建立,也有区别与传统的有菜单显示的窗口。最小化到托盘后,仍可以进行操作,也可以选择退出。对于实现播放、停止、上一曲/下一曲、添加文件,都是利用CMidi这个类来存放实现这些功能的函数。需要的时候调用就可以。为了是界面更美观,让人看起来更舒服,加入了位图背景。目前还没有实现用户根据自己的喜好来更改背景图案。 通过这次课程设计,更加巩固了我们所学的知识。 目录 摘要..............................................................II 第一章课题背景和概述 (1)

媒体播放器需求分析

多媒体播放器需求说明定义书 工程名称:多媒体播放器 工程组编号:06 工程组成员: 日期:2013—09—05

修改履历

目录1 认识MediaPlayer1 1.1 名称:媒体播放器1 1.2 功能概述:1 1.3 功能图概述:1 1.3.1 主界面图说明2 1.3.2 视频模块图说明3 1.3.3 音频模块图说明4 1.3.4 图片模块图说明4 2 MediaPlayer系统详细功能5 2.1 主界面功能详细需求5 2.1.1 特性描述5 2.1.2 功能性需求5 2.1.3 主界面的各种状态6 2.1.4 功能性需求6 2.1.5 主界面异常处理7 2.1.6 超时7 2.1.7 主界面使用方式7 2.2 视频播放功能详细需求7 2.2.1 视频播放器器的基本控制需求7 2.2.2 视频播放器器的详细功能8 2.3 音频播放功能详细需求:10 2.3.1 音频播放器的基本控制需求11 2.3.2 音频播放器器的详细功能11 2.3.3 播放列表经管需求13 2.3.4 列表音频经管需求16 2.3.5 播放器友好性需求19 2.4 图片播放功能详细需求21 2.4.1 图片播放器器的基本控制需求21 2.4.2 图片播放器器的详细功能22

1 认识MediaPlayer 1.1 名称:媒体播放器 1.2 功能概述 1)工程功能点1:视频播放器,能够实现本地设定目录中包含视频文件的浏览和播放(需要支持mp4/flv); 2)工程功能点2:音频播放器,能够实现本地设定目录中包含音频文件的浏览和播放(需要支持mp3/wma); 3)工程功能点3:图片播放器,能够实现本地设定目录中包含图片文件的浏览和播放(需要支持jpg/png/gif/bnp); 1.3 功能图概述: 此处是系统功能图 系统功能图说明

Java音频播放器详细设计说明书

JUST音频播放器 详细设计说明书 1、导言 1.1目的 本文档以《JUST音频播放器概要设计说明书》作为基准,对智能试题库的功能实现细节进行进一步的扩充。旨在具体介绍系统每一模块的实现设计以及模块间的接口实现设计,以便于后期系统的实现、测试、维护以及版本升级等。 1.2范围 本文档用于软件设计阶段的详细设计,它依据的基线是《JUST音频播放器概要设计说明书》,它的下游是源程序清单及单元测试计划,并为单元测试报告提供测试依据。 1.3术语定义 总体结构:软件系统的总体逻辑结构。本系统采用面向对象的设计方法设计系统。 概念数据模型:关系数据库的逻辑设计模型,主要表现为E-R图。 物理数据模型:关系数据库的物理设计模型。 1.4参考资料 【1】《JUST音频播放器需求规格说明书》。 【2】《软件工程实践教程》,赵池龙等编著,电子工业出版社,2007年1月。 【3】《UML参考手册》,(美)兰博等编著,机械工业出版社,2001年1月。 1.6相关文档 【1】《JUST音频播放器需求规格说明书》。 【2】《JUST音频播放器概要设计说明书》。 【3】《JUST音频播放器详细设计说明书》。 【4】源程序清单列表。 1.6版本更新记录 如表1-9所示。 表1-10 版本更新记录

2、系统设计与实现 2.1总体设计 根据《JUST音频播放器需求规格说明书》和《JUST音频播放器概要设计说明书》,并且播放器是通过媒体控制界面来实现所有功能,因此我们使用边界类,控制类和实体类来实现设计该系统;并利用日志文件和配置文件来保存播放器的信息。 2.1.1音频处理器子系统 播放器的基本控制类 这里使用了一个Java开源社区的项目的jlgui一个音频处理API javazoom.jlgui.basicplayer,它的类结构是 2.1.2播放器基本控制子系统 边界控制类

音频播放器需求分析

项目名称 基于C++的音频播放器 系统需求分析规格说明书 组长:张家富 1043041219 组员:杨唯 1043041444 汤志豪 1043041027 李亮亮 1043041121 赵小波 1043041234 刘钰江 0843041275 二○一二年四月

目录 1引言 (3) 1.1 编写目的 (3) 1.2 项目背景 (3) 1.3 定义 (3) 1.4 预期的读者和阅读建议 (4) 2任务概述 (5) 2.1 系统目标 (5) 2.2 运行架构 (5) 3系统需求分析 (6) 3.1 播放器基本控制需求 (6) 3.1.1 音量控制 (7) 3.1.2 静音控制 (8) 3.1.3 上一首/下一首控制 (8) 3.1.4 播放控制 (8) 3.1.5 暂停控制 (9) 3.1.6 播放文件控制 (9) 3.2 播放列表管理需求 (9) 3.2.1 播放歌曲文件控制 (10) 3.2.2 添加歌曲文件控制 (11) 3.2.3 删除歌曲文件控制 (11) 3.3 播放器友好性需求 (12) 3.3.1视觉外观显示 (12) 3.3.2歌曲时间显示 (12) 3.3.3播放状态显示 (12) 3.3.4 歌曲文件信息显示 (13) 4性能需求 (13) 4.1 数据精确度 (13) 4.2 时间特性 (13) 4.3 适应性 (13) 5 运行需求 (13) 5.1 用户接口 (14) 5.2 软件接口................................................................................................................................ 6环境需求........................................................ 7产品质量需求..................................................... 7.1 故障分析................................................................................................................................ 7.2 系统利用率............................................................................................................................ 7.3 可靠性.................................................................................................................................... 8 附录............................................................

音乐播放器设计文档

生产实习报告 题目:音乐播放器 学生姓名:张凡 学号: 201220220123 班级: 1222201 专业:数字媒体技术 指导教师:张金 2015年08 月08日

目录 一、引言 (3) 1.1 项目背景 (3) 1.2 项目研究的目的 (4) 1.3 安卓简介 (4) 二.功能分析 (5) 2.1 功能需求分析 (5) 2.2 系统性能需求 (6) 2.3 运行环境需求 (6) 三.程序详细设计 (6) 3.1 主界面的设计 (6) 3.2 播放界面设计 (11) 3.3 其他功能 (14) 四.调试与运行 (18) 4.1 调试 (18) 4.2 运行结果 (19) 五.总结 (21)

一、引言 1.1 项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,symbian,Windows mobile,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?答案是:肯定的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。 随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。此外,还能支持中文、英文等语言界面。

基于Android音乐播放器的设计与实现

滨江学院 《移动通信程序设计》 课程设计 题目基于Android系统的音乐播放器 院系滨江学院 专业计算机科学与技术 学生姓名王兵 学号 二O一四年六月十日

摘要 随着生活水平的提高,娱乐已成为非常主流的话题,人们不仅需要通过音乐陶冶情操,而且越来越多的人倾向于使用音乐、视频等娱乐和放松自己,这大大促进了媒体软件的发展.本文旨在介绍研究常用数字音频编码和解码的相关知识,并结合VS2008编写多功能音乐播放器,了解音乐播放器功能的实现,掌握开发音乐播放器所需的相关知识,采用了面向对象软件工程方法,其开发主要包括应用程序界面设计和后台代码运行两个方面,实现了多功能音乐播放器在计算机上的应用,可以在很大程度上满足用户的需求.该系统主要具备:音乐播放控制、音乐文件控制、音量控制、下载控制、歌词控制、进度控制、音乐剪辑等功能模块。 关键字:音乐播放器,音频编码格式,TechSmith Screen Capture Codec,FFmpeg ,C#,Visual Studio 2008 目录 1前言........................................................... 1.1选题的背景及意义............................................. 1.2网络流行音乐播放器简介....................................... 2系统相关技术及开发平台介绍 ..................................... 2.1开发应用技术介绍............................................. 2.2开发及运行坏境............................................... 3系统的分析..................................................... 3.1可行性分析................................................... 3.2常见的几种音频格式及其特点................................... 3.3需求分析..................................................... 4系统设计....................................................... 4.1系统概要设计................................................. 4.2系统功能设计及描述........................................... 5系统功能实现................................................... 5.1歌曲添加模块................................................. 5.2歌曲列表模块................................................. 5.3播放控制模块................................................. 5.4音量控制模块................................................. 5.5进度控制模块................................................. 5.6滚动字幕模块................................................. 5.7歌曲下载模块................................................. 5.8歌曲剪辑模块................................................. 结论............................................................ 参考文献.......................................................

06媒体播放器需求分析

06媒体播放器需求分析

多媒体播放器需求说明定义书 项目名称:多媒体播放器 项目组编号:06 项目组成员: 期:2013—09— 05

修改履历

目录 1 认识MediaPlayer (1) 1.1名称:媒体播放器 (1) 1.2功能概述: (1) 1.3功能图概述: (1) 1.3.1主界面图说明 (2) 1.3.2视频模块图说明 (3)

1.3.3 音频模块图说明 (3) 1.3.4 图片模块图说明 (5) 2 MediaPlayer 系统详细功能 (5) 2.1 主界面功能详细需求 (5) 2.1.1 特性描述 (5) 2.1.2 功能性需求 (6) 2.1.3 主界面的各种状态 (6) 2.1.4 功能性需求 (7) 2.1.5 主界面异常处理 (7) 2.1.6 超时 (7) 2.1.7 主界面使用方式 (7) 2.2 视频播放功能详细需求 (7) 2.2.1 视频播放器器的基本控制需求 (8) 2.2.2 视频播放器器的详细功能 (8) 2.3 音频播放功能详细需求: (11) 2.3.1 音频播放器的基本控制需求 (11) 2.3.2 音频播放器器的详细功能 (12) 2.3.3 播放列表管理需求 (14) 2.3.4 列表音频管理需求 (17) 2.3.5 播放器友好性需求 (20) 2.4 图片播放功能详细需求 (23) 2.4.1 图片播放器器的基本控制需求 (23) 2.4.2 图片播放器器的详细功能 (23) 1 认识 MediaPlayer 1.1名称:媒体播放器

1.2功能概述 1)项目功能点1:视频播放器,能够实现本地设定目录中包含视频文件的浏览和播放(需要支持mp4/flv); 2)项目功能点2:音频播放器,能够实现本地设定目录中包含音频文件的浏览和播放(需要支持mp3/wma ; 3)项目功能点3:图片播放器,能够实现本地设定目录中包含图片文件的浏览和播放(需要支持jpg/p ng/gif/b np); 1.3功能图概述: 此处是系统功能图系统功能图说明 从笊挖制 川户反好需來 音频播放界曲 ■.u.Te?K. :,2 堇肛界面 扯木挖制 阳片摘放界面 即切播啟界如 列总PUT

MP3音乐播放器课程设计

Java程序设计 课程设计说明书 简单音乐播放器 起止日期:2011年12月6日至2012年1月4日 学生姓名XXX 班级软件工程093班学号09408300310 成绩 指导教师 计算机与通信学院 2011年12 月28日

目录 一、绪论 (1) 1.1 课题背景 (1) 1.2 课程设计目的 (1) 1.4 课程设计实验环境 (1) 1.5 课程设计要求 (1) 二、课程系统分析 (3) 2.1 系统分析 (3) 2.1 功能分析 (3) 三、系统设计 (4) 3.1 系统功能结构图 (4) 3.2 模块功能设计 (4) 3.2.1处理“添加”按钮 (4) 3.2.2处理“播放”按钮 (4) 3.2.3 处理“停止”按钮 (4) 3.2.4 处理“单曲循环”按钮 (5) 四、系统实现 (6) 4.1 系统主界面的实现 (6) 4.2 系统主要功能实现 (6) 4.2.1系统主界面及关键代码: (6) 4.2.2添加文件的界面和代码: (9) 4.2.3 播放音乐的界面和代码: (11) 4.2.4 单曲循环的界面和代码: (12) 五、设计总结 (15) 5.1 设计体会及评价 (15) 参考文献 (16) 致谢 (17)

一、绪论 1.1 课题背景 随着社会电子音乐文件的与日俱增,作为现在最流行的音乐文件*.mp3,*.wav文件的数量和规模也在比以往的任何时候要多,不论是电台DJ需要使用方便而有效地管理自己所使用的音乐文件,还是个人。在计算机日益普及的今天,若采用一套有效的音乐播放器。将自己所收藏的大量的音乐文件能随时随地的播放,这将方便于众用户听音乐的需求。通过使用本音乐播放器能为音乐爱好者带来意想不到的收获。 1.2 课程设计目的 《JAVA程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JAVA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。 1.4 课程设计实验环境 程序运行在安装有windows操作系统的计算机上(台式机和笔记本),兼容windows 2K/XP/Vista/7 计算机硬件要求: 1.CPU:1G; 2.内存:512M. ; 3.显卡:256M显存; 文件播放:需要安装有声卡、要求安装有语音库。 JA VA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。 1.5 课程设计要求 按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;

Java_applet_音频播放器

1课题需求分析 在Java2平台出现前,Java语言只能处理电话音质的声音,以单声道8KHz的采样频率存储为u-lawAU文件。 Java2平台增加了AIFF、WAV以及三种MIDI文件类型的支持。 所支持的三种MIDI文件格式为MIDI文件类型0、MIDI文件类型1以及RMFo 2 课程解决方案 本程序有三个文件:是主文件,中的AppletSoundLoader类继承Thrwad负责为声音文件获得AudioClip对象并把它加到AppletSoundList中去;中定义的AppletSoundList 继承自Hashtable,提供getClip (String)和putClip(AudioClip,String)方法,分别从哈希表中取得AudioClip对象和放置AudioClip对象。 其结构是AppletSoundList中用AppletSoundLoader来装载制定URL的声音文件,AppletSoundLoader 负责为声音文件产生AudioClip对象并添加到AppletSoundList中。 在SoundApplet 中则只是利用AppletSoundList 类。 3 课题实现 主要的声音文件类型如下: AU (扩展名为AU或SND):适用于短的声音文件,为Solaris和下一代机器的通用文件格式,也是Java平台的标准音频格式。AU类型文件使用的三种音频格式为:8位u-law类型(通常采用频率为8KHz), 8位线性类型以及16位线性类型。 WAV (扩展名为WAV):由Microsoft和IBM共同开发,对WAV的支持已经被加进Windows95并且被延伸到Windows98。WAV文件能存储各种格式包括u-law、a-law和PCM (线性)数据。它们儿乎

Java音频播放器需求分析

目录 1.引言 (1) 1.1编写目的 (1) 1.2项目背景 (1) 1.3项目目的和目标 (1) 1.4参考资料 (1) 2.系统需求分析 (2) 2.1功能需求 (2) 2.2界面需求 (8) 2.3性能需求 (9) 2.4可靠性需求 (9) 2.5运行环境需求 (9)

1.引言 1.1编写目的 为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。本文档供项目经理、设计人员、开发人员参考。 1.2项目背景 本项目由梁柏光等人提出,由本组成员联合开发,实现播放现今主流的音乐文件格式。 开发软件名称:JUST音频播放器 项目任务提出者:梁柏光 项目开发者:第四项目小组 1.3项目目的和目标 现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可一播放主流的音乐文件格式,本设计的实现的主要功能是播放MP3,WA V, OGG ,APE ,LACF多种格式的音乐文件,并且能够控制播放,暂停,停止,音量控制的调节,选择上一曲,选择下一曲,视觉外观,列表文件和歌曲文件的管理操作等多种播放控制功能,界面简明,操作简单。 1.4参考资料 a.可行性分析 b.<<软件工程实践教程》赵池龙等编,电工出版社出版

2系统需求分析 根据项目的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述. 2.1功能需求 系统的功能需求,我们分成三部分来概括,即播放器的基本控制需求,播放列表管理需求和播放器友好性需求。以下分别描述: 一:播放器的基本控制需求

用列规约:

二:播放列表管理需求

基于51单片机的音乐播放器设计

题目:音乐播放器 课程设计(论文)任务书

摘要 随着电子技术的发展和计算机越来越普遍的使用,单片机作为这两项技术的有机结合也得到了广泛的应用,在某些领域具有不可替代的作用。音乐播放功能随处都会用到,如,在开发儿童智力的玩具中,等等。目前,基于单片机实现音乐播放,其体积小、价格低、编程灵活等特点在这一领域独领风骚。 单片机的英文名称为single chip microcomputer,最早出现在20世纪70年代,国际上现在已逐渐被微控制器(Microcontroller Unit 或MCU)一词所取代。它体积小,集成度高,运算速度快,运行可靠,功耗低,价格廉,因此在数据采集、智能化仪表、通讯设备等方面得到了广泛应用。而8051单片机在小到中型应用场合很常见,已成为单片机领域的实际标准。随着硬件的发展,8051单片机系列的软件工具也有了C 级编译器和实时多任务操作系统RTOS,为单片机编程使用C语言提供了便利的条件;并针对单片机常用的接口芯片编制通用的驱动函数,可针对常用的功能模块,算法等编制相应的函数;C语言模块化程序结构特点,可以使程序模块大家共享,不断丰富,这样就使得单片机的的程序设计更简单可靠,实时性强,效率高。作为测控技术与仪器的学生,掌握8051单片机硬件基础及其相关软件操作,将其应用于现代电子产品中是必要而且重要的,这次课程设计我们的题目是用单片机实验箱系统制作音乐播放器。

本次课程设计主要内容是通过单片机C51语言进行编程,以产生乐曲音符和节拍,把乐谱翻译成计算机语言(音符转换诚成相对应的方波频率即定时器装载初值,节拍转换成相对应的延长时间),并将其预先存储到单片机里,然后根据按键调用再由单片机进行信息处理,在经过信号放大,由喇叭放出乐曲声,实现音乐播放的功能。其主要表现在可以播放十首歌曲,可以用十个数字键控制播放的歌曲,并且能在LCD液晶屏显示器上显示相应播放歌曲的曲名和滚动歌词。再加上一个开关键来控制歌曲的播放停止。 本设计的目的是培养理论联系实际的学习方法以及独立解决工程实际问题的能力。能够熟识单片机C51语言的编程特性,及其应用。能够用C51语言进行编程,能成功的编出较为简单的程序。 关键词:单片机,音乐,蜂鸣器,同步显示 目录 课程设计(论文)任务书.................................................................................................. I 摘要...................................................................................................... 错误!未定义书签。 第一章绪论 .................................................................................................................. 1 1.1课程设计目的............................................................................................................................ 1 1.2课程设计任务............................................................................................................................ 1 1.3课程设计要求............................................................................................................................ 1 1.4课程设计的意义........................................................................................................................ 1 第二章设计原理及总体方案选择................................................................................... 2 2.1设计原理 ................................................................................................................................... 2

音乐播放器需求分析

音乐播放器需求分析 项目名称音乐播放器 需求分析左茂元 界面设计杨婷、李映 程序测试杨婷、李映 程序员1 高守林 程序员2 廖敬之 总负责人魏秋兴 2016 年11 月

摘要:随着生活水平的提高,娱乐已成为非常主流的话题,人们不仅需要通过音乐陶冶情操,而且越来越多的人倾向于使用音乐、视频等娱乐和放松自己,这大大促进了媒体软件的发展.本文旨在介绍研究常用数字音频编码和解码的相关知识,并结合VS2013编写多功能音乐播放器,了解音乐播放器功能的实现,掌握开发音乐播放器所需的相关知识,采用了面向对象软件工程方法,其开发主要包括应用程序界面设计和后台代码运行两个方面,实现了多功能音乐播放器在计算机上的应用,可以在很大程度上满足用户的需求.该系统主要具备:音乐播放控制、音乐文件控制、音量控制、下载控制、歌词控制、进度控制、音乐剪辑等功能模块。 关键字:音乐播放器,音频编码格式,C#,Visual Studio 2013

1.前言 (4) 1.1选题的背景及意义 (4) 1.2项目目的 (4) 1.3参考资料 (4) 2.具体需求 (5) 3.前台功能需求 (5) 3.1用户登录需求 (5) 3.2播放器的基本控制需求 (5) 3.3播放列表管理需求 (6) 4.界面需求 (6) 5.后台管理需求 (6) 5.1管理员管理 (6) 5.2歌手管理 (7) 5.3歌曲管理 (7) 5.4类别管理: (7) 6.性能需求 (7) 7. 可靠性要求 (7) 8.音乐播放器需求修改明细 (8)

1.前言 随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,音乐成了我们生活工作中的一个重要的部分。现今播放器的种类繁多,此文档是为了设计一个基于Microsoft系统而设计的一个音乐播放器。 1.1选题的背景及意义 本项目由项目经理魏秋兴提出由项目组员一起联合开发并实现其功能。开发此软件是为软件的开发者能更好的理解和明确软件开发的详细过程,安排项目与进度、组织软件开发与测试,撰写本文档。本文档供项目组成员,软件开发人员参考。 1.2项目目的 本项目的目的是开发一个可以播放主流的音乐文本格式的播放器。设计的主要实现功能是播放MP3格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,更改皮肤,歌曲列表文件的管理操作,在线播放,读取存储卡播放等多种播放控制,界面简明,操作简单。软件系统检测到错误行为时,报告错误,并提示处理操作。 1.3参考资料 待定——————————————————————————————————————————————————————————————————————————

相关文档