Channel3d 类控制应用程序中 在三维空间中播放的声音。每个声音均分配给一个声道,而且应用程序可以具有混合在一起的多个声道。
注:因为channel3d继承自channel,所以channel3d也包含channel的属性方法。
listener : egret3d.Vector3D
返回监听者位置maxDistance
最大距离minDistance
最小距离position
三维空间中的位置rollOffFactor rollOff
系数velocity
传播方向
注意以上是Channel的属性,可以直接设置如下:
channel3d.maxDistance = 10;
但是必须在初始化的时候设置,或者在play之前设置。通过对这些属性的设置,能够产生具有空间属性的声音效果。
Channel3d ( sound :egret3d.Sound, options :any )
创建一个新的 Channel3d 对象,和channel构造方法一样getDuration ( ):number
音频持续时间isPlaying ( ):boolean
是否正在播放
我们对channel的示例稍作修改
private _sound:egret3d.Sound;
// 加载声音文件成功
private loadSoundSuccess(e): void {
var channel3d:egret3d.Channel3d = new egret3d.Channel3d(e,{"volume":1,"loop":true});
channel3d.volume = 1;
channel3d.position = new egret3d.Vector3D(0,0,0);
channel3d.velocity = new egret3d.Vector3D(0,0,0);
channel3d.play();
}
使用F5
调试即可播放。