—— 跨平台、轻量级音频播放解决方案。
muplayer的Player类(对应player.js)是对外暴露的接口,它封装了音频操作及播放列表(Playlist)逻辑,并屏蔽了对音频内核适配的细节对音频内核适配的细节。
对一般应用场景,只需签出编译后的 dist/js/player.min.js
即可。
文档中 player
指代Player的实例。
Player初始化方法
名称 | 类型 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
options | Object |
|
若播放列表中有歌曲就开始播放。会派发 player:play
事件。
名称 | 类型 | 描述 |
---|---|---|
startTime | Number | 指定歌曲播放的起始位置,单位:毫秒。 |
若player正在播放,则暂停播放 (这时,如果再执行play方法,则从暂停位置继续播放)。会派发 player:pause
事件。
停止播放,会将当前播放位置重置。即stop后执行play,将从音频头部重新播放。会派发 player:stop
事件。
stop() + play()的快捷方式。
播放前一首歌。会派发 player:prev
事件,事件参数:
cur // 调用prev时正在播放的歌曲
播放下一首歌。参数auto是布尔值,代表是否是因自动切歌而触发的(比如因为一首歌播放完会自动触发next方法,这时auto为true,其他主动调用auto应为undefined)。
会派发 player:next
事件,事件参数:
auto // 是否为自动切歌 cur // 调用next时正在播放的歌曲
获取当前歌曲(根据业务逻辑和选链_fetch方法的具体实现可以是音频文件url,也可以是标识id,默认直接传入音频文件url即可)。
如果之前没有主动执行过setCur,则认为播放列表的第一首歌是当前歌曲。
设置当前歌曲。
名称 | 类型 | 描述 |
---|---|---|
sid | String | 可以是音频文件url,也可以是音频文件id(如果是文件id,则要自己重写_fetch方法,决定如何根据id获得相应音频的实际地址)。 |
当前播进度(单位秒)。
单曲总时长(单位秒)。
将音频资源添加到播放列表
名称 | 类型 | 描述 |
---|---|---|
sid | String,Array | 要添加的单曲资源或标识,为数组则代表批量添加。会派发 player:add 事件。 |
从播放列表中移除指定资源,若移除资源后列表为空则触发reset。会派发 player:remove
事件。
名称 | 类型 | 描述 |
---|---|---|
sid | String,Array | 要移除的资源标识(与add方法参数相对应)。 |
播放列表和内核资源重置。会派发 player:reset
事件。
如有特别需要可以自行扩展,比如通过监听 player:reset
来重置相关业务逻辑的标志位或事件等。
获取播放内核当前状态。所有可能状态值参见 cfg.coffee
中的 engine.STATES
声明。
设置当前播放资源的url。一般而言,这个方法是私有方法,供_fetch等内部方法中调用,客户端无需关心。
但出于调试和灵活性的考虑,依然之暴露为公共方法。
名称 | 类型 | 描述 |
---|---|---|
url | String |
获取当前播放资源的url。
设置播放器音量。
名称 | 类型 | 描述 |
---|---|---|
volume | Number | 合法范围:0 - 100,0是静音。注意volume与mute不会相互影响,即便setVolume(0),getMute()的结果依然维持不变。反之亦然。 |
获取播放器音量。返回值范围:0 - 100
设置是否静音。
名称 | 类型 | 描述 |
---|---|---|
mute | Boolean | true为静音,flase为不静音。 |
获取静音状态。
检验内核是否支持播放指定的音频格式。
名称 | 类型 | 描述 |
---|---|---|
type | String | 标识音频格式(或音频文件后缀)的字符串,如'mp3', 'aac'等。 |
播放列表中的歌曲总数。这一个快捷方法,如有更多需求,可自行获取播放列表:player.playlist.list。
设置列表播放的模式。
名称 | 类型 | 描述 |
---|---|---|
mode | String | 可选值参见前文对初始化Player方法的options参数描述。 |
获取列表播放的模式。