Egret社区

声音控制器类

2017-11-27 15:29
237576
本帖最后由 ywx620 于 2017-11-30 09:32 编辑

在做游戏的时候应会经常遇到声音的控制问题,所以写了个声音控制器的类。类中包括统一增加特效声与背景声方法,这里使用的方法是默认需要用到的声音都已经预先加载好了。
这里不讨论加载的问题。
------------------------------------------------------------
增加声音方法
/**
     * 声音必须是预先已经加载好的
     * @param name 声音名字
     * @param isBgSound 是不是背景声音
     */
addItem(name:string,isBgSound:boolean=false)

使用方法如下
SoundControl.getIns().addItem("fire_mp3");
SoundControl.getIns().addItem("bgSound_mp3",true);
------------------------------------------------------------
统一方法播放暂停
/**
     * 声音必须是预先已经加载好的
     * @param name 声音名字
     * @param start 开始播放的地方,默认从头开始播放
     * @param loop 循环播放次数,默认是1次
     */
play(name:string,start:number=0,loop:number=1)
/**name 声音名字 */
stop(name)
使用方法如下
SoundControl.getIns().play("bgSound_mp3",0,99);
SoundControl.getIns().stop("bgSound_mp3");
------------------------------------------------------------
控制背景音与特效音量大小的方法
SoundControl.getIns().setBgVolume(0.5);
SoundControl.getIns().setEffectVolume(0.5);
如果想对某个声音控制音量大小可以使用下面方法
/**
     * 设置某个声音的音量
     *  @param name 声音名字
     *  @param volume 音量0-1
     */
setVolume(name:string,volume:number)
SoundControl.getIns().setVolume("bgSound_mp3",0.5);
------------------------------------------------------------
设置是否静音
/**设置是否静音
     * @param volume 是否静音0为无音1为有音
     */
setIsNoVolume(volume:number)
如设置静音
SoundControl.getIns().setIsNoVolume(0);
------------------------------------------------------------
下面是完成声音控制器类
游客,如果您要查看本帖隐藏内容请回复














分享到 :
3 人收藏

76 个回复

倒序浏览
app小王子  社区管理员 | 2017-11-27 16:20:43
感谢分享!!!
huangdian  登堂入室 | 2017-11-27 17:30:31
666
cst4you  登堂入室 | 2017-11-27 17:39:00
我这边直接用了 sound.js 也很好用
破桎梏但求本心  圆转纯熟 | 2017-11-27 18:00:28
学习下
xxl2017  初学乍练 | 2017-11-27 18:06:07
我这边直接用了 sound.js 也很好用
makeitrain15  登堂入室 | 2017-11-27 19:25:29
kjashdasjhkj1
player11  登堂入室 | 2017-11-28 15:19:30
学习学习~~~~~~~~~~~~~~
l8812146810  初学乍练 | 2017-11-28 15:45:50
学习
liu_game  登堂入室 | 2017-11-29 14:33:02
666
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号

Powered by Discuz! X3.2 © 2001-2016 Comsenz Inc.

返回顶部