黄安歌曲在C语⾔控制台程序播放MP3⾳乐
游戏没有声⾳多单调。
这⾥做⼀个简单的范例,⽤ mciSendString 函数播放 MP3 格式的⾳乐,先看看代码吧:
// 编译该范例前,请把 background.mp3 放在项⽬⽂件夹中
// 发布时,请把 background.mp3 和编译的 exe 放在⼀起
// 编译环境:VC6 + EasyX v20100825
//
#include <graphics.h>
#include <conio.h>
// 引⽤ Windows Multimedia API
#pragma comment(lib,"Winmm.lib")
void main()
{
initgraph(640, 480);
// 打开⾳乐
mciSendString("open background.mp3 alias mymusic", NULL, 0, NULL);
outtextxy(0, 0, "按任意键开始播放");
getch();
// 播放⾳乐
mciSendString("play mymusic", NULL, 0, NULL);
outtextxy(0, 0, "按任意键停⽌播放");
getch();
/
/ 停⽌播放并关闭⾳乐
mciSendString("stop mymusic", NULL, 0, NULL);
mciSendString("close mymusic", NULL, 0, NULL);
outtextxy(0, 0, "按任意键退出程序");
于震电视剧getch();
closegraph();
}
简单讲解⼀下:
⼀定要引⽤ Winmm.lib 库⽂件。这个范例中是通过 #pragma comment 命令引⽤的,也可以在项⽬属性中设置,这⾥不作介绍。
mciSendString 函数的功能很强⼤,甚⾄可以播放视频,不过这⾥就不多作介绍了,详细请参见 MSDN。我们平时只需要⽤到第⼀个参数,将另外三个参数置为 NULL, 0, NULL 即可。
百度mp3歌曲
第⼀个参数是多媒体命令字符串,不区分⼤⼩写。程序中,先要通过 open 命令打开 background.mp3,并⽤ alias 指定了别名
为“mymusic”,这样在之后的代码中就可以⽅便的通过“mymusic”这个别名访问该⾳乐了。当然,并不是必须要指定别名,每次通过⽂件名访问也是可以的。
open 后⾯的 mp3 ⽤绝对路径或相对路径都可以。
然后就是:play mymusic 开始播放,stop mymusic 停⽌播放,close mymusic 关闭⽂件。
如果需要同时播放多个⾳乐,请为不同的⾳乐指定不同的别名,然后分别操作即可。整部剧都在开车的动漫推荐
不再需要播放的⾳乐,请记得⽤ close 命令关闭。
另外还有⼀个 PlaySound 函数也可以⽤来播放声⾳,不过可惜不⽀持 mp3 / wma,这⾥就不多做介绍了。
⼀些有⽤的多媒体命令:
从头播放 xxx:
"play xxx from 0"
循环播放 .mp3 ⽂件(.wma / .mid 同样可以):
十全九美主题曲"open xxx.mp3" 然后 "play xxx.mp3 repeat"
循环播放 .wav ⽂件:
"open xxx.wav type MPEGVideo" 然后 "play xxx.wav repeat"
关闭当前程序打开的所有多媒体⽂件:孔琳个人资料
"close all"
如果⽂件名中有空格,需要⽤双引号引起来⽂件名(注意转义):
mciSendString("open \"D:\\My Music\\俞丽拿梁祝化蝶.mp3\" alias mymusic", NULL, 0, NULL);
实际中可能会遇到各种各样的问题,这⾥给出⼀个完整的范例程序,可以下载到本机试试能否正常播放。【】这些暂时应该够⽤了吧,更多的多媒体命令请参见 MSDN。