egret-docs-master/Engine3D/sound/channel
guofei 4fe0162b34 fist commit 2024-06-19 13:32:32 +08:00
..
README.md fist commit 2024-06-19 13:32:32 +08:00

README.md

Channel 类控制应用程序中的声音,对声音执行更精细的控制。每个声音均分配给一个声道,而且应用程序可以具有混合在一起的多个声道。

1、Channel属性

  • loop : boolean 是否循环播放 使声音播放结束时重新开始播放
  • pitch : number 当前播放速度,当前播放速度。1.0 正常速度。0.5 半速更慢。2.0 倍速(更快)。-1.0 向后。正常速度。-0.5 向后,半速。
  • volume : number 音量,范围从 0静音至 1最大幅度

注意以上是Channel的属性可以直接设置如下

channel.volume = 1;

但是必须在初始化的时候设置或者在play之前设置。

2、Channel方法

  • Channel ( sound :egret3d.Sound, options :any ) 创建一个新的 Channel 对象
  • getDuration ( ):number 音频持续时间
  • isPlaying ( ):boolean 是否正在播放
  • pause ( ) 暂时停止在该声道中播放声音
  • play ( ) 开始在该声道中播放声音
  • stop ( ) 停止在该声道中播放声音
  • unpause ( ) 从暂停的位置继续在该声道中播放声音

3、代码示例

接下来我们修改Hello Sound代码 在onLoad最后新增这句代码

this._sound = new egret3d.Sound("resource/ccnn.mp3",this.loadSoundSuccess);

并新建方法loadSoundSuccess

    private _sound:egret3d.Sound;
    // 加载声音文件成功
    private loadSoundSuccess(e): void {
        var channel:egret3d.Channel = new egret3d.Channel(e,{"volume":1,"loop":true});
        channel.play();
    }

使用F5调试即可播放。