Skip to content

# 类 SoundController ​

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

- 实例方法
  - `add`
  - `play`
  - `stop`
  - `stopById`
  - `stopAll`
  - `get`
  - `getPlaying`

## add() ​

ts

    declare function add(uri: string, data: ArrayBuffer): void

- 参数说明

  - `uri`: 音频的 uri，由于音频也是一种资源，因此格式为`sounds.xxx`
  - `data`: 音频的 ArrayBuffer 信息，会被解析为 AudioBuffer

- 方法说明

  添加一个新的音频

## play() ​

ts

    declare function play(sound: string, end?: () => void): number

- 参数说明

  - `sound`: 音频名称，直接填写名称即可，不需填写 `sounds.xxx`
  - `end`: 当任意一个同名音效播放完毕后执行的函数

- 方法说明

  播放一个音频

- 返回值

  本次播放的唯一标识符

## stop() ​

ts

    declare function stop(id: number): void

- 参数说明

  - `id`: 要停止播放的音效的唯一标识符

- 方法说明

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

## stopById() ​

ts

    declare function stopById(id: string): void

- 参数说明

  - `id`: 要停止播放的音效的名称

- 方法说明

  根据音效的名称停止播放所有对应的音效

## stopAll() ​

ts

    declare function stopAll(): void

- 方法说明

  停止播放所有音效

## get() ​

ts

    declare function get(id: string): void

- 参数说明

  - `id`: 音效名称，注意不是 uri

- 方法说明

  根据音效名称获取音效实例

## getPlaying() ​

ts

    declare function getPlaying(): string[]

- 方法说明

  获取所有正在播放的音效名称