类 AudioPlayer
渲染进程类,游戏进程不能直接使用,继承自 EventEmitter
- 实例成员
- 实例方法
- 静态成员
index
ts
declare var index: numberdata
ts
declare var data: ArrayBufferbuffer
ts
declare var buffer: AudioBuffer | nullsource
ts
declare var source: AudioBufferSourceNode | undefinedbaseNode
ts
declare var baseNode: BaseNode[]成员说明
包含了音频在播放时经过的每个音频处理路由的根节点,参考自定义音频路由
接口
BaseNodetsinterface BaseNode { node: AudioNode; channel?: number; }node: 路由节点channel: 连接至的音频入口(input channel)
constructor()
ts
interface AudioPlayer {
new(data: ArrayBuffer): AudioPlayer
}参数说明
data: 音频的ArrayBuffer数据,一般是 xhr 请求的 response
update()
ts
declare function update(data: ArrayBuffer): Promise<void>方法说明
更新音频的
ArrayBuffer数据,并解析为AudioBuffer,赋值给buffer属性
getSource()
ts
declare function getSource(): AudioBufferSourceNode方法说明
获取音频的源节点
play()
ts
declare function play(when?: number, offset?: number, duration?: number): void参数说明
when: 声音开始播放的时间,注意不是声音从哪开始播放。时间与ac共用一个时间轴,即在ac的何时播放这个音频,如果小于ac的currentTime,那么会立刻开始播放,单位是秒offset: 从声音的何时开始播放,例如填 5 就是从声音的第 5 秒开始播放duration: 指定声音播放多长时间,单位为秒
ready()
ts
declare function ready(): void方法说明
准备音频路由,将源节点连接至各个音频路由根节点
getDestination()
ts
declare function getDestination(): AudioDestinationNode方法说明
获取音频目的地节点
ac
ts
declare var ac: AudioContext静态成员说明
音频处理上下文实例,所有的音频处理(bgm 除外)都是用它来实现的
static index
ts
declare var index: numberplay 事件
ts
interface AudioPlayerEvent {
play: (node: AudioBufferSourceNode) => void
}update 事件
ts
interface AudioPlayerEvent {
update: (audio: AudioBuffer) => void
}end 事件
ts
interface AudioPlayerEvent {
end: (node: AudioBufferSourceNode) => void
}