Skip to content

# 类 SoundEffect ​

渲染进程类，游戏进程不能直接使用，继承自 `AudioPlayer`

- 实例成员
  - `gain`
  - `panner`
  - `volume`
  - `stereo`
- 实例方法
  - 构造器`constructor`
  - `protected initAudio`
  - `playSE`
  - `stopAll`
  - `stopByIndex`
  - `setPanner`
- 静态成员
  - `playIndex`
  - `volume`
  - `disable`

## gain ​

ts

    declare var gain: GainNode

## panner ​

ts

    declare var panner: PannerNode

## volume ​

ts

    declare var volume: number

- 成员说明

  当前音效的音量

## stereo ​

ts

    declare var stereo: boolean

- 成员说明

  是否启用立体声

## constructor() ​

ts

    interface SoundEffect {
        new(data: ArrayBuffer, stereo: boolean = true): SoundEffect
    }

- 参数说明

  - `data`: 音频的 `ArrayBuffer` 数据
  - `stereo`: 是否启用立体声，默认启用

## protected initAudio() ​

ts

    declare function initAudio(stereo: boolean = true): void

- 方法说明

  初始化音频，设置音频路由线路

  - 不启用立体声：source -> gain -> destination
  - 启用立体声：source -> panner -> gain -> destination

## playSE() ​

ts

    declare function playSE(): number

- 方法说明

  播放这个音效

- 返回值

  本次播放的唯一标识符

## stopAll() ​

ts

    declare function stopAll(): void

- 方法说明

  停止这个音效的所有播放

## stopByIndex() ​

ts

    declare function stopByIndex(index: number): void

- 方法说明

  根据播放的唯一标识符停止音效播放

## setPanner() ​

ts

    declare function setPanner(source?: Partial<Panner>, listener?: Partial<Listener>): void

- 方法说明

  设置立体声信息，参考立体声

## playIndex ​

ts

    declare var playIndex: number

- 静态成员

## static volume ​

ts

    declare var volume: number

- 静态成员说明

  控制所有音效的音量

## disable ​

ts

    declare var disable: boolean

- 静态成员说明

  音效是否被关闭