mciSendString重复音乐
时间: 2023-08-24 18:40:31 浏览: 254
要使用mciSendString函数进行重复音乐播放,需要设置MCI命令字符串,其中包括重复播放标志。以下是一个示例代码:
```
#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib, "winmm.lib")
int main()
{
// 打开音乐文件
mciSendString(L"open C:\\music.mp3 type mpegvideo alias music", NULL, 0, NULL);
// 设置重复播放
mciSendString(L"play music repeat", NULL, 0, NULL);
// 播放音乐
Sleep(10000); // 播放10秒钟
mciSendString(L"stop music", NULL, 0, NULL);
// 关闭音乐文件
mciSendString(L"close music", NULL, 0, NULL);
return 0;
}
```
在上面的示例代码中,通过mciSendString函数打开音乐文件,并设置MCI_PLAY命令的repeat标志以启用重复播放。通过Sleep函数来控制播放时间,最后通过mciSendString函数发送stop和close命令,关闭音乐文件。
相关问题
解释以下程序:void chushihua()//初始化函数 { mciSendString(open E:\\bj.mp3 alias bkmusic, NULL, 0, NULL); mciSendString(play bkmusic repeat, NULL, 0, NULL); initgraph(kuan, chang); HWND hwnd =
这是一个初始化函数,主要包含以下几个步骤:
1. 使用mciSendString函数打开E盘下的"bj.mp3"音乐文件,并给它取了个别名"bkmusic"。
2. 使用mciSendString函数播放别名为"bkmusic"的音乐,并设置为重复播放。
3. 调用initgraph函数创建一个大小为kuan*chang的窗口,并返回窗口句柄hwnd。
其中,mciSendString是一个Windows API函数,用于发送命令给多媒体控制器(MCI)。initgraph是BGI图形库中的一个函数,用于初始化图形环境并创建窗口。该程序可能是一个使用BGI图形库和MCI多媒体控制器的音乐可视化程序。
解释以下程序:int s[561][864] = { 0 },game=0; int fx, fy,ex[5],ey[5],defen=0,zhuang=0,fang=0,zidankuan=0; IMAGE feiji1, feiji2, beijing, zidan1, zidan2, e1, e2, zhuang1,zhuang2; void chushihua()//初始化函数 { mciSendString("open E:\\bj.mp3 alias bkmusic", NULL, 0, NULL); mciSendString("play bkmusic repeat", NULL, 0, NULL); initgraph(kuan, chang); HWND hwnd = GetHWnd(); SetWindowText(hwnd, "飞机大战 v1000000.0"); fx = 0.5*kuan; fy = 0.7*chang; s[fx][fy] = 1; int i; for (i = 0; i < 5; i++) { ex[i] = rand() % 540; ey[i] = rand() % 2; s[ex[i]][ey[i]] = 3; } loadimage(&beijing, "E:\\background.jpg"); loadimage(&feiji1, "E:\\feiji1.jpg"); loadimage(&feiji2, "E:\\feiji2.jpg"); loadimage(&zidan1, "E:\\zidan1.jpg"); loadimage(&zidan2, "E:\\zidan2.jpg"); loadimage(&e1, "E:\\e1.jpg"); loadimage(&e2, "E:\\e2.jpg"); loadimage(&zhuang1, "E:\\zhuang1.jpg"); loadimage(&zhuang2, "E:\\zhuang2.jpg"); BeginBatchDraw(); Sleep(2); while (game == 0) chushicaidan(); }
这是一个飞机大战游戏的初始化函数,主要包含以下几个步骤:
1. 定义一个大小为561*864的二维数组s,用于记录游戏中所有位置的状态,初始值都为0。
2. 定义一些游戏中需要用到的变量,包括游戏状态、飞机位置、敌机位置、得分、撞击标记、方向等。
3. 使用mciSendString函数打开E盘下的"bj.mp3"音乐文件,并给它取了个别名"bkmusic"。
4. 使用mciSendString函数播放别名为"bkmusic"的音乐,并设置为重复播放。
5. 调用initgraph函数创建一个大小为kuan*chang的窗口,并返回窗口句柄hwnd。
6. 使用GetHWnd函数获取窗口句柄,使用SetWindowText函数设置窗口标题为"飞机大战 v1000000.0"。
7. 初始化飞机位置和敌机位置,并在s数组中标记相应位置的状态。
8. 加载游戏中需要用到的图片资源,包括背景、飞机、子弹、敌机、撞击等。
9. 开始批量绘制游戏画面,并进入游戏循环,调用chushicaidan函数处理游戏菜单。
10. 在游戏循环中,程序会不断地更新游戏画面,并根据用户输入调整飞机位置和方向,判断是否有敌机被击中或玩家撞击敌机,更新得分和游戏状态等。
阅读全文