【函数】mciSendString()
【头文件】"mmsystem.h"
【函数原型】
MCIERROR mciSendString( // 出错返回非零值(错误代码)
// 可用mciGetErrorString获得错误的文本描述
LPCTSTR lpszCommand, // 指向以null结尾的命令字符串:”命令 设备[ 参数]”
LPTSTR lpszReturnString,// 指向接收返回信息的缓冲区,为NULL时不返回信息
UINT cchReturn, // 上述缓冲区的大小
HANDLE hwndCallback // 在命令串中含notify时,它指定一个回调窗口的句柄
// 一般为NULL
);
【使用方法】
最重要的是第一个参数:
首先载入音频文件,例如:
mciSendString("open res/sample.wav type waveaudio alias wave",NULL, 0, NULL);
类型type 可以有mp3、waveaudio、mpegvideo等。
然后对音频文件进行操作,例如:
mciSendString("play wave",0,0,NULL);
命令有play,stop,close,pause,resume等
【实现】
1、循环播放
mciSendString("play wave repeat",0,0,NULL);
注意:这种方法对waveaudio类型的不起反应,但如果你的音频文件为wav格式的,则类型可改为mpegvideo,这样就可以实现了。不过这种方
法比较占用资源,建议播放完就关闭了吧。
2、多次播放同一音频文件
在播放之前调用这句:
mciSendString("seek wave to start",NULL,0,NULL);
【参考资料】
http://baike.baidu.com/view/1622810.htm
http://www.hackchina.com/
http://wenku.baidu.com/view/99108066f5335a8102d2203a.html
http://topic.csdn.net/t/20050830/08/4239076.html
【附:游戏音乐采集网站】
http://hi.92wy.com/vgm/