上期答案:
A B B A C B B B A C
你答对了吗?
开场白
最近我又在研究一些歪七扭八的C++小程序了,但我发现以前的C++播放音乐1.0有很多弊端:
● 不能暂停 |
● 无法反复播放(也可以,但很麻烦) |
● 好卡顿(经常) |
● 。。。。。。 |
于是,Maker继续埋头苦干。。。
终于——mciSendString登场啦!
mciSendString函数的使用方式:
需要头文件:
#include <windows.h>
#include <mmsystem.h>
如果无法运行,就点击“工具[T]” —— “编译选项[C]” —— “编译器配置” —— “编译器” —— “在链接时加入以下函数”,输入:
-lwinmm
如果还是无法运行,就在头文件里面加入:
#pragma comment (lib, "winmm.lib")
mciSendString的定义
mciSendString(操作指令 , 获取返回的信息(字符串) , 返回信息的长度 , 窗口句柄);
操作指令
一般情况下,函数的后面三个参数都是NULL(0),但也有特殊情况,以后我们细细讲解。
第一个参数的指令如下:(音乐操作指令 = "操作指令 音乐名称及后缀、目录")
open | 打开设备 |
close | 关闭设备 |
play | 开始设备播放 |
stop | 停止设备的播放或记录 |
record | 开始记录 |
save | 保存设备内容 |
pause | 暂停设备的播放或记录 |
resume | 恢复暂停播放或记录的设备 |
seek | 改变媒体的当前位置 |
capacility | 查询设备能力 |
info | 查询设备的信息 |
status | 查询设备状态信息 |
alias: 音乐的别名
假设音乐的名字十分长,你想在下面的代码写mciSendString时,不想写音乐名字,直接写个song完事廖,就需要使用alias别名。
使用方法如下:
mciSendString("open 音乐名称\目录\后缀 alias 别名");
这样子, 后面的mciSendString音乐操作指令 = "操作指令 别名"
使用结构
#include <Windows.h>
#include <mmsystem.h>
#pragma comment (lib, "winmm.lib")
using namespace std;
int main()
{
mciSendString("open 音乐名称 alias 别名",NULL, 0, NULL); //" alias 别名" 可以不要
mciSendString("play 音乐名称或别名",NULL, 0, NULL);
...
...
}