mciSendString循环音乐播放
时间: 2023-07-08 12:54:34 浏览: 248
要使用mciSendString函数进行循环音乐播放,需要设置MCI命令字符串,其中包括循环播放标志。以下是一个示例代码:
```
#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib, "winmm.lib")
int main()
{
// 打开音乐文件
MCI_OPEN_PARMS mciOpen;
mciOpen.lpstrDeviceType = L"mpegvideo";
mciOpen.lpstrElementName = L"C:\\music.mp3";
mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_ELEMENT, (DWORD_PTR)&mciOpen);
DWORD deviceID = mciOpen.wDeviceID;
// 设置循环播放
MCI_PLAY_PARMS mciPlay;
mciPlay.dwCallback = NULL;
mciSendCommand(deviceID, MCI_PLAY, MCI_NOTIFY | MCI_DGV_PLAY_REPEAT, (DWORD_PTR)&mciPlay);
// 播放音乐
Sleep(10000); // 播放10秒钟
mciSendCommand(deviceID, MCI_STOP, 0, NULL);
// 关闭音乐文件
mciSendCommand(deviceID, MCI_CLOSE, 0, NULL);
return 0;
}
```
在上面的示例代码中,通过MCI_OPEN命令打开音乐文件,并设置MCI_PLAY命令的MCI_DGV_PLAY_REPEAT标志以启用循环播放。通过Sleep函数来控制播放时间,最后通过MCI_STOP和MCI_CLOSE命令关闭音乐文件。
阅读全文