sound
标签 | 描述 |
bgmopt | 设定背景音乐的属性 |
playbgm | 播放背景音乐 |
pausebgm | 暂停播放背景音乐 |
stopbgm | 停止播放背景音乐 |
resumebgm | 重新播放暂停的背景音乐 |
fadeinbgm fadeoutbgm fadebgm | 淡入背景音乐 淡出背景音乐 淡化xchgbgm背景音乐 |
wb wl | 等待音乐淡入淡出 等待音乐停止播放 |
fadepausebgm | 淡出暂停背景音乐 |
xchgbgm | 交换背景音乐 |
setbgmlabel clearbgmlabel | 增加背景音乐的标签 清除所有由setbgmlabel建立的标签 |
setbgmstop clearbgmstop | 无视它 无视它 |
音效 | |
seopt | 设定音效的属性 |
playse | 播放某一个编号的音效 |
stopse | 停止播放某一编号的音效 |
fadeinse fadeoutse fadese | 淡入音效 淡出音效 淡入或淡出音效 |
wf ws | 等待音效淡入淡出 等待音效停止播放 |
========================= 背景音乐 ===========================
bgmopt
说明: (1) 设置bgm的参数 (2) 内部通过bgm.setOptions(elm)实现 |
属性: device: 可以是”Wave”, “MIDI”, “CDDA” volume: 声量, 范围0~100 gvolume: global声量, 范围0~100 |
例子: with ( kag.tagHandlers ) { .playbgm( %[ storage:"a.wav", loop:false, paused:false, start:5000 ] ); .bgmopt( %[ volume:50, gvolume:100 ] ); } |
playbgm
说明: (1) 播放背景音乐 (2) 内部通过bgm.play(elm)、clearBgmStop()、clearBgmLabel()实现 |
属性: loop: 是否循环, Boolean, storage: 音乐档案位置, String, paused: 是否暂停, start : 设置BGM.buf1.samplePosition |
例子: kag.tagHandlers.playbgm( %[ storage:"a.wav", loop:false, paused:true, start:5000 ] ); |
pausebgm
说明: (1) 暂停播放背景音乐 (2) 内部通过bgm.pause()实现 |
例子: kag.tagHandlers.pausebgm(); |
stopbgm
说明: (1) 停止播放背景音乐 (2) 内部通过bgm.stop()实现 |
例子: kag.tagHandlers.stopbgm(); |
resumebgm
说明: (1) 重新播放暂停的背景音乐,不能播放由stopbgm停止的音乐 (2) 内部通过bgm.resume()实现 |
例子: kag.tagHandlers.resumebgm(); |
fadeinbgm
说明: (1) 音乐淡入效果, 声音逐渐变大 (2) 内部通过bgm.fadeIn(elm)实现 |
属性: loop: 是否循环, 预设为true, Boolean time: 淡入淡出维持时间, 默认值为5000, Integer storage: 音乐档案位置, String, start: 设置BGM.buf1.samplePosition |
例子: kag.tagHandlers.fadeinbgm( %[ storage:"a.wav", loop:false, time:5000 ] ); |
fadeoutbgm
说明: (1) 音乐淡出效果, 声音渐渐变0, 此函数必须要开始playbgm才能执行 (2) 内部通过bgm.fadeOut(elm)实现 |
属性: time: 淡入淡出维持时间, Integer |
例子: kag.tagHandlers.playbgm( %[ storage:"a.wav", loop:false, paused:false, start:5000 ] ); kag.tagHandlers.fadeoutbgm( %[ time:5000 ] ); |
fadepausebgm
说明: (1) 音乐淡出效果, 声音渐渐变0, 并将BGM. inFadeAndPause=true, 此函数必须要开始playbgm才能执行 (2) 内部通过bgm.fadePause(elm)实现 |
属性: time: 淡入淡出维持时间, Integer |
例子: kag.tagHandlers.playbgm( %[ storage:"a.wav", loop:false, paused:false, start:5000 ] ); kag.tagHandlers.fadepausebgm( %[ time:5000 ] ); |
fadebgm
说明: (1) 音乐淡入淡出效果, 必须先执行playbgm函数 (2) 内部通过bgm.fade(elm)实现 |
属性: time: 淡入淡出维持时间, 默认值为5000, Integer volume: 范围0~100, Integer |
例子: kag.tagHandlers.playbgm( %[ storage:"a.wav", loop:false, paused:false, start:5000 ] ); kag.tagHandlers.fadebgm( %[ time:5000, volume:0 ] ); |
wb
说明: (1) 等待声音开始淡入淡出, 如果canskip=true以及skipMode=true就回传0, 否则回传-2 (2) 内部通过waitBGMFade(elm)实现 |
属性: canskip: 是否可以略过fade |
例子: with ( kag.tagHandlers ) { .playbgm( %[ storage:"a.wav", loop:false, paused:false, start:5000 ] ); .fadeinbgm( %[ storage:"a.wav", loop:false, time:5000 ] ); .wb( %[canskip:true] ); } |
wl
说明: (1) 等待声音停止播放, 如果canskip=true以及skipMode=true就回传0, 否则回传-2 (2) 内部通过waitBGMStop(elm)实现 |
属性: canskip: 是否可以略过fade |
例子: with ( kag.tagHandlers ) { .playbgm( %[ storage:"a.wav", loop:false, paused:false, start:5000 ] ); .fadeinbgm( %[ storage:"a.wav", loop:false, time:5000 ] ); .wl( %[canskip:true] ); } |
xchgbgm
说明: (1) 将目前的背景音乐对象与BGM.buf2交换, 因为kag有两个bgm buffer (2) 内部通过实现bgm.exchange(elm)、clearBgmStop()、clearBgmLabel()实现 |
属性: storage: 音乐档案位置, String, loop: 是否循环播放 time: 淡入淡出维持时间, 在没有指定inttime及outtime时使用 intime: 淡入时间, 默认值是5000 outtime: 淡出时间, 默认值是5000 overlap: 淡出时间及播放之间的延迟时间, 默认值是0 volume: 范围0~100, Integer start: 设置BGM.buf1.samplePosition |
例子: //以下例子是把b.wav会换成a.wav, fade效果会消失 kag.tagHandlers.playbgm( %[ storage:"b.wav", loop:false, paused:false, start:5000 ] ); kag.tagHandlers.fadebgm( %[ time:5000, volume:0 ] ); kag.tagHandlers.xchgbgm( %[ storage:"a.wav", volume:50, loop:true, intime:100000 ] ); |
setbgmlabel
说明: (1) 增加背景音乐的label(标签) (2) 内部通过setBgmLabel(elm)实现 |
属性: exp: 结束时执行的表达式 storage: 结束时跳到哪个ks档案去 target:ks 文件中的目标label是甚么 name: 标签名字 |
例子: property handler { getter { return; } setter ( v ) { System.inform( "hello" ); } } with ( kag.tagHandlers ) { .playbgm( %[ storage:"a.wav", loop:false, paused:false, start:5000 ] ); .setbgmlabel( %[ exp:handler, storage:"first.ks", target:"start", name:"label1" ] ); } |
clearbgmlabel
说明: (1) 清除所有由setbgmlabel函数建立的labels (2) 内部通过clearBgmLabel()实现 |
例子: property handler { getter { return; } setter ( v ) { System.inform( "hello" ); } } with ( kag.tagHandlers ) { .playbgm( %[ storage:"a.wav", loop:false, paused:false, start:5000 ] ); .setbgmlabel( %[ exp:handler, storage:"first.ks", target:"start", name:"label1" ] ); . clearbgmlabel(); } |
setbgmstop
说明: (1) 背景音乐停止时执行的项目, 此函数无效, 因为BGM.tjs中的 //if(ps == "play" && cs == "stop") //owner.onSoundBufferStop(this); // play => stop : 演奏が停止した 被注释, 无法触发BGMStop事件 (2) 内部通过setBgmStop(elm)实现 |
属性: exp: 结束时执行的表达式 storage: 结束时跳到哪个ks档案去 target: ks文件中的目标label是甚么 |
例子: property handler { getter { return; } setter ( v ) { System.inform( "hello" ); } } with ( kag.tagHandlers ) { .playbgm( %[ storage:"b.wav", loop:false, paused:false, start:5000 ] ); .setbgmstop( %[ exp:handler, storage:"first.ks", target:"start" ] ); } |
clearbgmstop
说明: (1) 清空由上面的setbgmstop函数写入的参数 (2) 内部通过clearBgmStop()实现 |
例子: with ( kag.tagHandlers ) { .playbgm( %[ storage:"b.wav", loop:false, paused:false, start:5000 ] ); .setbgmstop( %[ exp:handler, storage:"first.ks", target:"start" ] ); .clearBgmStop(); } |
============================ 音效部份 =============================
seopt
说明: (1) 设定音效属性 (2) 内部通过se[+elm.buf].setOptions(elm)实现 |
属性: buf: 音效缓冲object的编号 volume: 最终的音量, 0~100000 gvolume: 全局音量, 0~100 pan: 左右声道, -100000~100000 |
例子: var oSE1 = new SESoundBuffer (kag, "0"); kag.se[ 0 ] = oSE1; with ( kag.tagHandlers ) { .seopt( %[ buf:0, volume:50, gvolume:100, pan:0 ] ); .playse( %[ buf:0, storage:"a.wav", loop:true ] ); } |
playse
说明: (1) 播放某一个编号的音效 (2) 内部通过se[+elm.buf].play(elm)实现 |
属性: buf: 音效缓冲object的编号 storage: 音效文件位置 start: 设置声效的samplePosition loop: 是否循环播放 |
例子: var oSE1 = new SESoundBuffer (kag, "sound1"); kag.se[ 0 ] = oSE1; with ( kag.tagHandlers ) { .playse( %[ buf:0, storage: "a.wav", loop:true ] ); } |
stopse
说明: (1) 停止播放某一个编号的音效 (2) 内部通过se[+elm.buf].stop()实现 |
属性: buf: 音效缓冲object的编号 |
例子: var oSE1 = new SESoundBuffer (kag, "sound1"); kag.se[ 0 ] = oSE1; with ( kag.tagHandlers ) { .playse( %[ buf:0, storage: "a.wav", loop:true ] ); .stopse( %[ buf:0 ] ); } |
fadeinse
说明: (1) 音效淡入效果, 声音渐渐变大 (2) 内部通过se[+elm.buf].fadeIn(elm)实现 |
属性: buf: 音效缓冲object的编号 time: 维持时间, 默认值是5000 storage: 音效文件位置 start: 设置声效的samplePosition loop: 是否循环播放 |
例子: var oSE1 = new SESoundBuffer (kag, "sound1"); kag.se[ 0 ] = oSE1; with ( kag.tagHandlers ) { .fadeinse( %[ buf:0, time:5000, storage: "b.wav", loop:true ] ); } |
fadeoutse
说明: (1) 音效淡出效果, 声量变成0 (2) 内部通过se[+elm.buf].fadeOut(elm)实现 |
属性: buf: 音效缓冲object的编号 time: 维持时间, 默认值是5000 storage: 音效文件位置 start: 设置声效的samplePosition loop: 是否循环播放 |
例子: var oSE1 = new SESoundBuffer (kag, "sound1"); kag.se[ 0 ] = oSE1; with ( kag.tagHandlers ) { .fadeoutse( %[ buf:0, time:5000, storage: "b.wav", loop:true ] ); } |
fadese
说明: (1) 音效淡出效果, 声量变成0 (2) 内部通过se[+elm.buf].fade(elm)实现 |
属性: buf: 音效缓冲object的编号 time: 维持时间, 默认值是5000 storage: 音效文件位置 start: 设置声效的samplePosition loop: 是否循环播放 volume: 最终的音量, 0~100 |
例子: var oSE1 = new SESoundBuffer (kag, "sound1"); kag.se[ 0 ] = oSE1; with ( kag.tagHandlers ) { .fadeinse( %[ buf:0, time:5000, storage: "b.wav", loop:true, volume:100 ] ); } |
wf
说明: (1) 等到音效淡入淡出时, 如果canskip=true以及skipMode=true就回传0, 否则回传-2 (2) 内部通过waitSEFade(elm)实现 |
属性: buf: 音效缓冲object的编号 canskip: 是否可以略过 |
例子: var oSE1 = new SESoundBuffer (kag, "0"); kag.se[ 0 ] = oSE1; with ( kag.tagHandlers ) { .wf( %[ buf:0, canskip:false ] ); .playse( %[ buf:0, storage:"a.wav", loop:true ] ); } |
ws
说明: (1) 等到音效停止时, 如果canskip=true以及skipMode=true就回传0, 否则回传-2 (2) 内部通过waitSEStop(elm)实现 |
属性: buf: 音效缓冲object的编号 canskip: 是否可以略过 |
例子: var oSE1 = new SESoundBuffer (kag, "0"); kag.se[ 0 ] = oSE1; with ( kag.tagHandlers ) { .ws( %[ buf:0, canskip:false ] ); .playse( %[ buf:0, storage:"a.wav", loop:true ] ); } |