VC编写音频播放器

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

Softeem Consultancy Service
MCIERROR mciSendCommand ( MCIDEVICEID IDDevice, UINT uMsg, DWORD fdwCommand, DWORD dwParam ); 参数IDDevice表示用来接收命令的设备的标识符,注意在打开设备时不用该参数 uMsg是要发送的命令;fdwCommand是命令消息的标志,而参数dwParam则是一 个指向包含命令消息的参数的结构。如该参数返回非0 值,则表示设备驱动出错, 这时可用mciGetErrorString函数来取得错误信息,其原型为: BOOL mciGetErrorString ( DWORD fdwError, LPTSTR lpszErrorText, UINT cchErrorText ); 参 数 fdwError 是由mciSendCommand 或mciSendString 返回的错误代码; 参数 lpszErrorText是一个指针,它指向用来存储错误描述信息的缓冲区;参数 cchErrorText表示缓冲区的长度,以字符为单位。
Softeem Consultancy Service
程序界面
Softeem Consultancy Service
创建初始界面程序
实现界面美化
1,首先新建一个工程,取个好听的名字,这里命名为Multimedia,然 后选择Dialog based,点击OK完成。
2,设置对话框显示风格。在对话框点右键属性,设置边框为细小,把标题 栏复选框去掉,其他默认。如图:
Softeem Consultancy Service
3,界面布局。在对话框中添加相应的控件,完成相应功能,最终效果如图:
Softeem Consultancy Service
4.进行对话框、控件的相应美化。 (1)给对话框添加背景 (2)给按钮添加位图 (3)使静态文本透明
实现播放音乐
Windows MCI与多媒体软件开发 Windows MCI(Media Control Interface)是控制多媒体设备的高层命令接口, 提供了与设备无关的控制多媒体设备的方法。MCI可控制的多媒体设备包括标准 的多媒体设备,如CD音频(CD Audio)、数字视频、动画、Wave格式数字声 音和MIDI音序器,以及影碟机等可选设备。MCI包含在Windows系统的 MMSYSTEM.DLL动态链接库中,用以协调多媒体事件和MCI设备驱动程序之间 的通信。一些MCI设备驱动程序,影碟机设备驱动程序,可以直接控制目标设备 ;另外一些MCI 设备驱动程序,如Wave和MIDI 设备驱动程序,通过 MMSYSTEM中的函数间接控制目标设备;还有一些MCI设备驱动程序则提供了 与其他Windows动态链接库的高层接口。MCI提供两种不同但相互联系的接口方 式。第一种方式利用消息和数据结构来给多媒体设备发送命令并接收设备传来的 信息,这种方法用函数mciSendCommand来给设备发送命令。其原型为:
Softeem Consultancy Service
MCI接口的第二种方式是使用ASCII字符串来发送驱动设备的命令,这种 方式采用函 数mciSendString把命令字符发送给设备。其原型为: MCIERROR mciSendString ( LPCTSTR lpszCommand, LPTSTR lpszReturnString, UINT cchReturn, 第5 章媒体播放器——多媒体程序设计113 HANDLE hwndCallback ); 参数lpszCommand是要发送的MCI命令字符串;参数lpszReturnString是 一个指向接收返回信息的缓冲区的指针;cchReturn表示缓冲区的长度, 以字符为单位;hwndCallback是回调窗口的句柄,一般为NULL。 这 种 字 符 串 命 令 很 直 观 方 便 , 近 似 自 然 语 言 , 如 “ play cdaudio ” , “stop waveaudio”等。返回的信息字符串由 lpszReturnString带回,如该函数返回非0值,同样可用 mciGetErrorString获取错误信息。
Softeem Fra Baidu bibliotekonsultancy Service
VC++编写音乐播放器
Softeem Consultancy Service
程序效果
音乐播放器可以播放Windows下常用的音频和视 频文件,如MP3、MIDI、WAV、WMA等。程序 的界面如图所示。用户可通过文件对话框添加想 要播放的文件和删除音乐文件,并可实现暂停、 关闭或重播的功能,并显示播放的时间和正在播 放文件的全路径和文件名,同时,在媒体文件播 放的过程中,用户可随时调节音,还可以设置播 放模式,如单曲循环,顺序播放等,同时,可以 同步歌词。
Softeem Consultancy Service
为了使用MCI编程,必须包含多媒体头文件: #include <mmsystem.h> 并在项目属性中添加对多媒体库winmm.lib链接。
Softeem Consultancy Service
wchar_t buf[256]; MCIERROR err = mciSendString(L"open cdaudio alias cd", NULL, 0, NULL); // 打开CD if (err) { if (mciGetErrorString(err, buf, 256)) MessageBox(buf, L"Error"); // 获得并显示错误串 return; } mciSendString(L"status cd number of tracks", buf, 256, NULL); // 获得音轨总数 m_nTracks = wcstol(buf, NULL, 10); // 这里使用了宽字符版的 字符串到整数的 // 转换函数:long wcstol( const wchar_t *nptr, wchar_t **endptr, int base ); wsprintf(buf, L"play cd from %d to %d", m_nFrom, m_nTo); mciSendString(buf, NULL, 0, NULL); // 从音轨m_nFrom头播 放到音轨m_nTo–1尾
相关文档
最新文档