作者:创世魂
● 辅助说明注意:本类位于“多媒体功能支持”模块中,必须添加此模块才能使用。
● 本类说明
帮助文档如下图:
简单来说,本方法的作用通常用作播放“游戏提示音”或者其它类型的“短音效”提示。
通过本类播放音乐,最多也就能播放五六秒,即使是再长的音乐,也只会播放最开始的五六秒钟。
需要注意的是,本类中有两个ID值。
一个是由“加载音频/加载音频2”返回的“声音ID”。
另外一个是由“播放”返回的“声音流ID”。
通过“声音流ID”可以控制当前音乐的一些属性:例如,是否循环播放等等。
● 新建
帮助文档如下图:
本方法共有“三个”参数和“一个”返回值。
参数1:设定最大声音数,此数值并不是越大越好,通常情况下填写10以内的数字即可。
参数2:具体音频类型值参考“音频类型.XXX”.
参数3:没有意义的参数,忽略即可。
● 加载音频2
帮助文档如下图:
通过本方法可以加载音频,加载音频后才能执行“播放”方法。
返回值为“音频ID”,如果音频ID为0,则加载失败。
加载失败原因有两种:第一:音频资源命名不正确,二:并非标准的声音文件。
参数3:优先级别,本参数忽略即可。
如果要加载本地音频请使用“加载音频”方法。
● 播放
帮助文档如下图:
可以看到本方法共有七个参数,动态调用时“参数1”省略。
参数2:填写由“加载音频”返回的id值。
其它参数,如果没有这些需求,忽略即可。
注意:本方法会返回一个“音频ID”,返回值必定不为0,如果返回0表示播放失败。
● 置速度
帮助文档如下图:
通过本方法可以调整指定音频的播放速度。
参数2:填写由“播放”方法返回的音频ID。
参数3:不建议超过2,低于0.5。
注意:本方法只有在声音正在播放时有效,声音播放完毕后此设置无效。
所有的设置声音的方法均是如此,不再重复说明。
● 暂停
帮助文档如下图:
通过“播放”返回的声音流ID,来暂停当前声音的播放。
如果要继续播放可调用“恢复”方法。
务必保证当前声音正在播放,否则本方法无效。
● 恢复
帮助文档如下图:
恢复指定“声音流ID”的音频,务必保证此音频正在播放,否则本方法无效。
● 卸载声音
帮助文档如下图:
顾名思义,从整个声音池中删除指定的声音。
删除后,该声音将无法继续播放。
界面准备如下图:
拖放一个“线性布局容器”,其布局方向设置为“横向”
随后在布局器内放四个按钮,分别修改标题为:播放,暂停,恢复,卸载。
代码编写(1):
保存布局后,新增三个变量,分别为“声音池1”,“声音ID”和“流ID”。
注意,声音池类变量要设置参考。
代码编写(2):
需要在“通知_被创建”事件下,定义一个“原始数据资源”变量,点击按钮导入一个标准的音频文件。
然后调用“声音池类.新建”方法,建立声音池对象,赋值给定义的“声音池1”变量。
通过当前“声音池1”变量,即可调用“加载音频2”方法加载音频。
参数内直接填写定义的“音频1”变量即可。
最后将“加载音频2”赋值给“声音ID”即可。
代码编写(3):
随后在“按钮_被单击”事件下,分别判断这四个按钮被点击,然后执行对应的方法。
注意:“播放”方法的参数调用的是“声音ID”并非“流ID”,千万不要写错。
“流ID”是由播放方法返回的,并且必定不为0.
通过“流ID”可设置当前音频播放速度。
运行结果如下图:
图文教程只能演示到这种地步,具体细节大家自行测试。
● 加载音频
帮助文档如下图:
通过本方法可以加载本地音频,返回值同样为非0的整数值。
如果返回0,表示加载失败。
本地路径可通过:“取外部存储空间根目录().取文件名()”获取。
参数3忽略即可。
调用方法直接将本类例子中的“加载音频2”方法替换为本方法即可。
● 置优先级
帮助文档如下图:
本方法根据“声音流ID”设定当前音频的优先级,当有N多个音频播放时,本音频优先播放。
调用方法:声音池1.置优先级(流ID,1).
务必保证参数2中的“声音流ID”正确。
● 置循环模式
帮助文档如下图:
顾名思义,通过本方法可以设置当前音频进行循环播放。
调用方法:声音池1.置循环模式(流ID,-1)。
参数3:有三种循环模式,根据实际需求填写即可。
● 置音量
帮助文档如下图:
顾名思义,通过本方法可以设置当前音频的音量。
调用方法:声音池1.置音量(流id,1,1)。
参数3、4为左右声道,根据自己的需求填写何时的数值即可。
● 全部暂停
帮助文档如下图:
顾名思义,如果当前声音池有N个声音在播放,调用本方法可暂停全部声音的播放。
调用方法:声音池1.全部暂停()。
● 全部恢复
帮助文档如下图:
恢复被暂停的声音,恢复后继续从暂停位置开始播放。
调用方法:声音池1.全部恢复()。
● 停止
帮助文档如下图:
顾名思义,通过本方法可以停止当前音频的播放。
停止后可调用“播放”方法重新播放。
调用方法:声音池1.停止(流ID)。
● 释放
帮助文档如下图:
顾名思义,通过本方法可以释放掉当前对象占用的所有资源。
如果不使用当前对象后,建议调用本方法释放资源。
调用方法:声音池1.释放()。