创建音效池(打开音频设备约 80 毫秒,程序启动时创建一个即可)。
可选参数 @options 可指定 maxVoices:每种音频格式最多同时播放的声音数,默认 32,
超出时打断最早开始的声音
游戏音效池:启动时载入音效,之后一句 play(名字) 播放,多个声音可以同时响。
基于系统自带的 XAudio2(Windows 8 以上),由系统音频线程混音,
play 只是提交请求(约 0.03 毫秒),延迟约 10 毫秒,不卡界面,不需要线程。
没有声卡或系统不支持时为静音模式:对象照常创建,play 返回 null,程序不必判断。
所有方法在创建对象的线程调用
解析 WAV 文件数据,返回 {data=PCM buffer;format=WAVEFORMATEX 结构体},
支持 8/16/24/32 位整数 PCM 与 32 位浮点。失败返回 null,错误信息
载入声音,成功返回时长(秒),失败返回 null,错误信息。
参数 @name 是播放时用的名字,重复添加会替换。
参数 @source 可以是:
音频设备可用时为 true,静音模式为 null
停止所有声音并关闭音频设备(对象被回收时也会自动调用)
返回声音时长(秒)
是否已添加指定名字的声音
是否正在播放。
参数 @target 可以是播放编号或声音名字,省略则检查是否有任何声音在播放
静音模式的原因
循环播放声音(例如背景音乐),返回播放编号,直到调用 stop 才停止
每种音频格式最多同时播放的声音数
播放声音,立即返回播放编号(可传给 stop)。
同一个声音可以重叠播放。
可选参数 @volume 为音量,默认 1(与 add 指定的基础音量相乘)。
可选参数 @pitch 为音高倍数,默认 1,范围 0.01~4(同时改变速度),
每次在 1 附近随机取值可让重复的音效不单调。
失败(包括静音模式)返回 null,错误信息
设置总音量(0~1,可大于 1 放大),影响正在播放与之后的所有声音。
设为 0 即静音
停止声音。
参数 @target 可以是 play/loop 返回的播放编号,或声音名字(停止这个声音的所有播放)。
省略参数停止所有声音