事件

事件监听方法

播放器提供的事件,通过 ononce 进行监听,off 可以移除事件监听,支持链式调用。

on

监听播放器事件

示例
// 监听 play 事件
player.on('play', function(sound) {
  console.log(sound)
})

// 链式调用
player
.on('play', function(sound) {
  console.log('监听 play 事件')
})
.on('pause', function(sound) {
  console.log('监听 pause 事件')
})

once

监听播放器事件,仅一次。

示例
// 监听 play 事件,触发一次后即被移除。
player.once('play', function(sound) {
  console.log(sound)
})

// 链式调用
player
.once('play', function(sound) {
  console.log('监听一次 play 事件')
})
.once('pause', function(sound) {
  console.log('监听一次 pause 事件')
})

off

移除事件监听,可移除整个事件监听,或仅移除事件监听的回调队列中某一函数,区别是 off 方法的第二个参数,注意看下方示例。

示例
// play 触发时的回调方法
function onPlay(sound) {
  console.log(sound)
}

// 监听 play 事件
player.on('play', onPlay)

// 移除 play 事件回调队列中的 onPlay —— 仅移除监听事件的某个回调
player.off('play', onPlay)

// 移除 play 事件监听,整个回调队列都会被清空 —— 移除整个监听事件
player.off('play')


// 链式调用
player
.off('play', onPlay) // 移除 play 事件监听的 onPlay
.off('pause') // 移除所有 pause 事件监听

事件列表

ready

播放器准备就绪时触发,仅加载时触发一次。

回调参数:player
示例
player.on('ready', player => {

})

play

播放时触发

回调参数:sound
示例
player.on('play', sound => {

})

pause

暂停时触发

回调参数:sound
示例
player.on('pause', sound => {

})

stop

停止播放时触发,上一个、下一个声音切换时,以及页面关闭时,均会先触发一次 stop 去停止之前的声音。

回调参数:sound
示例
player.on('stop', sound => {

})

resume

恢复播放时触发,即暂停后再播时触发。

回调参数:sound
示例
player.on('resume', sound => {

})

loading

音频加载进度,会连续触发多次,返回已加载百分比,直播节目会持续触发。

回调参数:percent、sound
示例
player.on('loading', (percent, sound) => {

})

mute

静音时触发

回调参数:volume、sound
示例
player.on('mute', (volume, sound) => {

})

unmute

恢复音量时触发

回调参数:volume、sound
示例
player.on('unmute', (volume, sound) => {

})

timeupdate

播放过程中随着播放时间前进(同 html5 Audio 的 timeupdate 事件)持续触发,触发频率较高,尽量避免在这里做开销较大的操作,建议使用节流。

回调参数:position、sound
示例
player.on('timeupdate', (position, sound) => {

})

change.volume

音量变化时触发

回调参数:volume、sound
示例
player.on('change.volume', (volume, sound) => {

})

change.sound

声音切换时触发,如:上一个、下一个等。

回调参数:sound
示例
player.on('change.sound', sound => {

})

change.playlist

播放列表 playlist 切换时触发

回调参数:playlist、sound
示例
player.on('change.playlist', (playlist, sound) => {

})

change.playState

播放状态切换时触发

回调参数:playState、sound
示例
player.on('change.playState', (playState, sound) => {

})

change.playMode

播放模式切换时触发

回调参数:playMode、sound
示例
player.on('change.playMode', (playMode, sound) => {

})

change.playbackRate

播放速率切换时触发

回调参数:playbackRate、sound
示例
player.on('change.playbackRate', (playbackRate, sound) => {

})

loaderror

音频加载发生错误时触发(同 html5 Audio 的 error 事件),可能导致 error 的情形包括:abort、emptied、stalled、suspend 以及声音地址存在但无效。

回调参数:error、sound
示例
player.on('loaderror', (error, sound) => {

})

initlast

从缓存恢复最近一次播放信息时触发

回调参数:sound
示例
player.on('initlast', sound => {

})

sound.notExist

如果当前播放的声音是喜马拉雅声音,播放器会发送请求去获取声音信息,接口查询不到该声音信息时触发。
仅第一次发送请求时触发,已播放过,再次播放不再触发,因声音信息已缓存,不再发送请求。

回调参数:id
示例
player.on('sound.notExist', id => {

})

sound.usable

如果当前播放的声音是喜马拉雅声音,播放器会发送请求去获取声音信息,获取声音信息成功时触发(拿到的音频如果加载过程中出错,会触发 loaderror 事件)。
仅第一次发送请求时触发,已播放过,再次播放不再触发,因声音信息已缓存,不再发送请求。

回调参数:sound
示例
player.on('sound.usable', sound => {

})

sound.unusable

如果当前播放的声音是喜马拉雅声音,播放器会发送请求去获取声音信息,获取声音信息失败时触发,获取失败包括请求异常、接口错误、无权限等情形,而不包含声音加载错误(loaderror),也不包含播放过程中产生的其它错误。
仅第一次发送请求时触发,已播放过,再次播放不再触发,因声音信息已缓存,不再发送请求。

回调参数:id
示例
player.on('sound.unusable', id => {

})
© www.ximalaya.com lnc.ALL Rights Reserved 修订时间: 2019-08-07 11:15:59

results matching ""

    No results matching ""