guofei 4fe0162b34 | ||
---|---|---|
.. | ||
README.md |
README.md
AudioManager 类允许您在应用程序中 播放 HTML5 Audio 和 Web Audio。它集合了加载声音文件、播放2D或者3D效果方法,可以使我们方便的控制声音播放。
1、AudioManager属性
context : any
AudioContext 上下文 egret3d.AudioManagerinstance : egret3d.AudioManager
[静态] [只读] AudioManager类的单例模式,返回一个 AudioManager 对象 egret3d.AudioManagervolume : number
音量,范围从 0(静音)至 1(最大幅度)
注意以上是Channel的属性,可以直接设置如下:
AudioManager.maxDistance = 10;
但是必须在初始化的时候设置,或者在play之前设置。通过对这些属性的设置,能够产生具有空间属性的声音效果。
2、AudioManager方法
AudioManager ()
创建一个新的 AudioManager 对象createSound ( url :string, success :Function, error :Function ):egret3d.Sound
生成一个新的 Sound 对象 ,将声音数据加载到 Sound 对象中hasAudio ( ):boolean
是否支持 HTML5 Audio tag APIhasAudioContext ( ):boolean
是否支持 Web Audio APIisSupported ( url :string, audio :HTMLAudioElement ):boolean
浏览器是否可以播放这种音频类型playSound ( sound :egret3d.Sound, options :any )
生成一个新的 Channel 对象来播放该声音playSound3d ( sound :egret3d.Sound, position :egret3d.Vector3D, options :any ):egret3d.Channel3d
生成一个新的 Channel3d 对象来播放该声音
3、代码示例
public constructor() {
super();
this._sound = egret3d.AudioManager.instance.createSound("resource/ccnn.mp3", this.loadSoundSuccess);
}
// 加载声音文件成功
private loadSoundSuccess(e): void {
this._manager = new egret3d.AudioManager();
// 生成一个新的 Channel 对象来播放该声音。
this._channel = this._manager.playSound(e, { "volume": 0.5, "loop": true });
// 生成一个新的 Channel3d 对象来播放该声音。
this._channel3d = this._manager.playSound3d(e, new egret3d.Vector3D(0, 0, 10), { "volume": 0.5, "loop": true });
//Channel 可停止声音并监控音量。
// this._channel.pause();
}
使用F5
调试即可播放。