Egret音频

新版本的 Sound 与老版本有很多不同,首先 Sound 类本身不再支持对音频的 stop 以及声音的大小进行设置,这些将会在 play 之后创建的 SoundChannel 中去设置。

另外解决了不能同时播放多个同一个音频的问题(手机必须得支持同时播放多个音频)。

SoundEvent 也被移除了,您可以通过监听 SoundChannel 的 egret.Event.SOUND_COMPLETE 这个事件获得声音播放完成的消息。

获取音频的三种方式

1、创建一个 Sound 对象,通过 load 方法加载路径中的声音文件。

Sound 类只有2个加载的事件:

egret.Event.COMPLETE音频加载完成时抛出

egret.IOErrorEvent.IO_ERROR音频加载失败时抛出

2、通过 URLLoader 获取音频

3、通过 RES 获取音频

一般推荐用这种方法,最简单

play 的2个参数:

startTime:声音开始播放的位置,默认为0。

 loops:声音播放的次数,小于等于0均为无限循环播放,大于0按照对应的值播放次数。

和之前不一样的是,新版 Sound play 之后,会创建一个 SoundChannel 对象,开发者可以直接对 SoundChannel 进行操作。

volume音量范围从0(静音)至1(最大音量)position当前声音播放的位置(以秒为单位)stop停止在该声道中播放声音

对于声音的播放完成的事件监听,从原来对 Sound 进行监听,变成对 play 后创建的 SoundChannel 监听 egret.Event.SOUND_COMPLETE ,并且去掉了 Sound 的 pause 和 resume方法。如果想要实现此方法,可以根据 SoundChannel 返回的 position 和 Sound 的 play 来实现。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容