参数

参数由播放器参数、应用参数两部分组成,通常不需要配置应用参数,因为调用 config 初始化方法时,应用相关的信息已经全局配置好。

播放器参数
参数名 类型 必填 默认值 说明
playlist Array [] 播放列表,数组的元素为 Number 类型的声音 ID ,通常 ID 需要是喜马拉雅声音 ID;若非喜马拉雅声音,则必须是 sounds 属性中该声音已存在(播放非喜马拉雅声音示例
playMode String 'order' 播放模式,查看可选值
initLast Boolean false 是否从localStorage中读取最近播放信息,加载时(如:刷新页面、关闭页面重新打开)恢复,包括:声音id、playlist、volume、position、sound、playmode、mute等。
breakpoint Boolean true 断点续播,即从上一次播放的位置续播,低版本ios不支持,备注:页面关闭时,会触发stop,播放位置回到了0,所以关闭页面后恢复播放是从头播,而刷新页面可以从之前的位置续播。
autoSkip Boolean false 声音不可播时,自动跳过播放下一个,自动跳过备注
sounds Object {} 播放器的声音集合,通常不需要设置此项,查看示例
debug Boolean false 是否开启调试模式(控制台输出日志)
应用参数

这里的应用参数和调用 config 方法初始化 JSSDK 时的参数一致,只是在这里非必传。通常不需要配置这些参数。

参数名 类型 必填 默认值 描述
app_key String 喜马拉雅开放平台应用公钥,请参考准备工作的介绍
sig_url String 返回 signature、access_token 的接口 URL 地址(例:https://api.xxxxxxxx.com/jssdk_sig) , 接口由开发者服务端开发
device_id String 设备唯一标识,比如 Android 系统可以传 imei,也可以传设备 MAC 地址。 如果公司有用户隐私政策考虑可以用 MD5(真实设备号)取代。 但禁止伪造,否则会被检测出来并封号!或者,建议在用户第一次访问页面时随机生成 UUID 作为设备 ID,并且存为永久 cookie 避免每次都重新生成,设备 ID 生成说明
timeout Number 10 * 1000 请求超时时间(单位:毫秒,默认 10S)

播放模式

播放模式 说明
顺序播放 'order' 到最后一个会切到第一个继续播
单曲循环 'loop' 始终播放同一个
随机播放 'random' 到最后一个会切到第一个继续播
单个播放 'single' 播完即止

播放器状态

播放器状态 说明
ready 'ready' 播放器已就绪
loading 'loading' 加载中(1.播放,2.恢复播放,3.seek)引起的声音加载
playing 'playing' 播放中
paused 'paused' 暂停
stoped 'stoped' 停止,切换声音(例如:prev、next等)时也会触发,先停止正在播的音频
finished 'finished' 结束,完整播放结束时触发
loaderror 'loaderror' 下载资源发生错误(不包含接口请求喜马拉雅声音出错的情形)

设置sounds

sounds 的值,id、src 属性必须有,否则无法播放,id 为 Number 类型的正整数(建议不要用奇怪的数字、浮点数等,虽然不一定会出错)。

import { XMplayer } from '@xmly-fem/web-jssdk'

const sounds = {
  "182847535": {
    "id": 182847535,
    "src": "http://aod.tx.xmcdn.com/group59/M09/3B/54/wKgLelzWfNbQR3a6ABz31eyJjKY954.m4a"
  },
  "183339305": {
    "id": 183339305,
    "src": "http://audio.xmcdn.com/group58/M06/6A/D9/wKgLglzZLrDhQ2V_ABbu1ZmT9ls470.m4a"
  },
  "197491263": {
    "id": 197491263,
    "src": "http://audio.xmcdn.com/group62/M04/2E/0F/wKgMZ10qFCqxgoFOABDIjrPCwpo708.m4a"
  }
}

const player = new XMplayer({
  playlist: [182847535, 183339305, 197491263], // 应当同时将 id 加入 playlist, 否则设置 sounds 显得没有意义
  sounds,
})

自动跳过

  1. 如果手动上一个,声音不可播时,也会自动切换下一个;

  2. 不可播的情形包括:播放器请求喜马拉雅声音出错或未获取到正确结果、声音的 src 非法(而声音加载过程发生错误等情形不包含,声音加载发生错误会触发 loaderror 事件,需自己处理);

  3. 自动跳过会在播放列表的最后一个声音终止,例如:最后一个声音不可播,不会自动切换去播第一个声音,防止整个列表都是不可播而产生死循环;

© www.ximalaya.com lnc.ALL Rights Reserved 修订时间: 2019-08-06 13:49:17

results matching ""

    No results matching ""