HumanBreak/docs/api/class/sound-controller.md
2024-03-01 19:52:30 +08:00

109 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 类 SoundController
渲染进程类,游戏进程不能直接使用,继承自 [`ResourceController`](./resource-controller.md)
- 实例方法
- [`add`](#add)
- [`play`](#play)
- [`stop`](#stop)
- [`stopById`](#stopbyid)
- [`stopAll`](#stopall)
- [`get`](#get)
- [`getPlaying`](#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[]
```
- 方法说明
获取所有正在播放的音效名称