aardio 文档

sys.soundPool

游戏音效池:程序启动时载入音效,之后一句 play(名字) 播放,多个声音可以同时响。

快速开始

import sys.soundPool;

var sounds = sys.soundPool();
sounds.add("ding","C:\Windows\Media\Windows Ding.wav");
sounds.add("coin","/res/coin.wav"); //支持资源路径
sounds.add("bgm","/res/music.mp3",0.5); //参数 3 是这个声音的基础音量

sounds.play("coin");
sounds.play("coin",0.5,1.2); //音量 0.5,音高 1.2 倍
var bgm = sounds.loop("bgm"); //循环播放,直到 stop
sounds.stop(bgm);

声音来源

add(名字,来源,音量) 的来源可以是:

import av.audio.sfx;
sounds.add("done",av.audio.sfx("success").trim(-60)); //trim 去掉混响尾部的静音
sounds.add("pop",av.audio.sfx("pop"));

同名重复添加会替换原来的声音。add 成功返回时长(秒),失败返回 null,错误信息。

播放控制

每种音频格式最多同时播放 32 个声音(sys.soundPool({maxVoices=64}) 可以改),超出时打断最早开始的声音,循环播放的声音不会被打断。

关闭

close() 停止所有声音、关闭音频设备并释放声音数据。对象被回收或线程结束时也会自动关闭,一般不必手动调用。

Markdown 格式