.版本 2
数据 = 声音
.如果真 (查找放音设备 () ≥ 1)
放音设备号 = 1
放音格式.格式 = 1
放音格式.声道 = 1
放音格式.采样率 = 22000
放音格式.位数 = 8
放音格式.数据量 = 放音格式.位数 × 放音格式.采样率 × 放音格式.声道 ÷ 8
放音格式.对齐单位 = 放音格式.位数 × 放音格式.声道 ÷ 8
打开放音设备 (放音设备号, -1, 放音格式, &数据处理, 0, 196608)
缓存1 = 数据
缓存大小 = 取字节集长度 (数据)
缓存1地址 = 取地址_ (缓存1, 缓存1, 0)
放音数据1.缓冲指针 = 缓存1地址
放音数据1.缓冲大小 = 缓存大小
放音数据1.dwFlags = 1
准备缓冲 (放音设备号, 放音数据1, 32)
写入声音输出设备 (放音设备号, 放音数据1, 32)
处理序号 = 1
.如果真结束
.子程序 停止播放语音
处理序号 = 0
.子程序 数据处理
.参数 hwi, 整数型
.参数 uMsg, 整数型
.参数 dwInstance, 整数型
.参数 dwParam1, 整数型
.参数 dwParam2, 整数型
.如果真 (uMsg = 957)
.判断开始 (处理序号 = 1)
缓存1 = 数据
缓存大小 = 取字节集长度 (数据)
缓存1地址 = 取地址_ (缓存1, 缓存1, 0)
放音数据1.缓冲指针 = 缓存1地址
放音数据1.缓冲大小 = 缓存大小
放音数据1.dwFlags = 1
清除缓冲 (放音设备号, 放音数据1, 32)
写入声音输出设备 (放音设备号, 放音数据1, 32)
语音.时钟1.时钟周期 = 10
.判断 (处理序号 = 0)
清除缓冲 (放音设备号, 放音数据1, 32)
停止声音回放 (放音设备号)
关闭放音设备 (放音设备号)
缓存1 = { }
.默认
.判断结束
.如果真结束