如何用C++编写一个简单的音乐播放器 45

江湖救急:各位高手,我等着答案,急!!!!!!!!要求:1.能实现利用PC喇叭播放在电脑中保存好的歌曲文件。说明:1.利用PC喇叭发音可使用“DOS.H”中的SOUND(... 江湖救急:各位高手,我 等着答案,急!!!!!!!!
要求:
1.能实现利用PC喇叭播放在电脑中保存好的歌曲文件。
说明:
1.利用PC喇叭发音可使用“DOS.H”中的SOUND()函数。
2.歌曲文件可以自己定义歌谱的表示形式,如用1表示“Do”。
展开
 我来答
vanassembly
2009-06-17 · TA获得超过218个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:116万
展开全部
这个程序可能是最简单的mp3播放器了。当然也谈不上什么功能。但是确实能播放。
链接时要指定库文件。VC++是vfw32.lib, GCC是libvfw32.a.
我在VC6.0和GCC/MinGW 3.3.1下都通过了。
假设程序名是MyPlay, 目录下还有一个aaa.mp3, 运行MyPlay aaa.mp3即可。
注意Sleep(50000)是让他最多播放50秒。没有Sleep()的话,窗口一闪就退出了。
具体的MCI函数请查有关资料。

#include <windows.h>
#include <vfw.h>

int main(int argc, char* argv[])
{
if (argc>1) {
HWND MyPlayer = MCIWndCreate(NULL,GetModuleHandle(NULL), 0, argv[1]);
MCIWndPlay(MyPlayer);
Sleep(50000);
}
return 0;
}
这个程序还可以播放MIDI, AVI, WMV, MPG等影音文件。
如果只是后台播放MIDI或MP3,不想显示那个没有用的窗口,把MCIWndCreate()第三个参数0改成WS_POPUP即可。
如果想精确控制Sleep()至MP3播放结束,可以改成 Sleep(MCIWndGetLength(MyPlayer));

对于mp3, MCIWndGetLength()返回值的单位是毫秒,可以直接用于Sleep()延时。
对于mpg, MCIWndGetLength()返回值的单位是帧数,还要转换成毫秒才能用于Sleep().
具体MCIWndGetLength()返回值的单位是什么,可以调用MCIWndGetTimeFormat()来查询。
ll094
2009-06-17 · TA获得超过386个赞
知道小有建树答主
回答量:1040
采纳率:0%
帮助的人:633万
展开全部
C++还是VC++呢?VC用软件还是很容易的吧,用微软的MFC库就行了。不过我也已经忘干净了。C++可能就困难许多了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式