播放器API
更新时间:2025-09-25 17:24:53
播放器属性
| 参数名 | 类型 | 默认值 | 平台支持 | 说明 |
|---|---|---|---|---|
| wrap | string / HTMLElement | - | PC/移动端 | 页面上存在需要载入播放器的DOM元素或css选择器 |
| width | number / string | 100% | PC/移动端 | 播放器的宽度 |
| height | number / string | auto | PC/移动端 | 播放器的高度 |
| uid | string | - | PC/移动端 | 用户id,即账号信息中的userId |
| vid | string | - | PC/移动端 | 频道id |
| coverImg | string | - | PC/移动端 | 自定义暖场图 |
| autoplay | boolean | - | PC/移动端 | 是否自动播放,默认跟随直播后台设置。 注:自动播放失败PC、移动端均有可能不成功,原因查看常见问题-自动播放 |
| isAutoChange | boolean | false | PC/移动端 | 自动切换直播/回放(最新直播暂存) |
| vodsrc | string | - | PC/移动端 | 回放视频的播放链接url |
| hasControl | boolean | false | 移动端 | 是否显示控制栏预设皮肤。为false则使用各浏览器默认皮肤。 注:仅支持移动端。由于系统浏览器劫持,强制使用该浏览器默认皮肤,部分浏览器设置皮肤不生效。 使用此参数的同时,建议搭配skin_type: 'black' 一起使用 |
| skin_type | string | - | 移动端 | 皮肤样式:设置'black'使用深色皮肤。 注:仅支持移动端 |
| language | number | 0 | PC/移动端 | 播放器语言,0为中文,1为英文 |
| df | number | - | PC/移动端 | 多码率默认视频清晰度,0 标清,1 高清,2 超清 |
| banMultirate | boolean | false | PC/移动端 | 禁用多码率功能 |
| banMuteTips | boolean | false | PC端 | 隐藏静音提示, 详细查看常见问题-自动播放-静音播放 注:仅支持PC端 |
| banRightMenu | boolean | false | PC | 是否禁用右键菜单 |
| banRate | boolean | false | PC/移动端 | 禁用倍速功能 |
| danmuEnable | boolean | false | PC/移动端 | 为true开启弹幕,需要配合后台开关 |
| showDanmu | boolean | - | PC/移动端 | 是否显示弹幕 |
| banDanmuBtn | boolean | - | PC/移动端 | 禁用弹幕按钮 |
| skinConfig | object | - | PC/移动端 | 皮肤设置 streamStop: 直播流停止时显示的图片地址 streamStopTxt: 直播流停止时显示的文本 streamPause: '直播流暂停时显示的图片地址 bgColor: '背景颜色 playBtnImg: 播放按钮图片地址 showPlayBtn: 是否显示播放按钮 showFullScreen: 是否显示全屏按钮 showProgress: 是否显示进度条 showVolumeBtn: 是否显示音量按钮(默认值: false, 仅移动端生效) |
| webPageFullScreen | boolean | false | 移动端 | 是否使用网页全屏 注意:仅支持移动端 |
| fullScreenOrientation | string | none | 移动端 | 网页全屏方向,portrait 竖屏, landscape 横屏, none 无效果 注:仅支持移动端 |
| banLivePause | boolean | false | PC/移动端 | 直播过程中不显示暂停按钮。该功能对回放的场景无效,移动端需要搭配hasControl和skin_type一起使用 |
| useHls | boolean | - | PC | 强制使用 HLS 播放直播 |
| useHlsPlay | boolean | - | 移动端 | 仅直播场景使用HLS播放直播 |
| usePanorama | boolean | - | PC/移动端 | 启用直播VR模式 |
播放器接口
| 接口名 | 参数 | 回调参数 | 平台支持 | 说明 |
|---|---|---|---|---|
| j2s_resumeVideo | PC/移动端 | 播放视频 | ||
| j2s_pauseVideo | PC/移动端 | 暂停视频 | ||
| j2s_stopVideo | PC/移动端 | 停止播放 | ||
| j2s_seekVideo | time:number | PC/移动端 | 视频(回放)指定位置播放 | |
| j2s_setVolume | volume:number | PC/移动端 | 设置播放器声音,取值0-1, 注: iOS不支持修改视频音量值 | |
| j2s_getCurrentTime | time:number | PC/移动端 | 获取视频当前时间 | |
| j2s_showBarrage | PC/移动端 | 开启弹幕 | ||
| j2s_hideBarrage | PC/移动端 | 隐藏弹幕 | ||
| j2s_addBarrageMessage | data:Object | PC/移动端 | 发送弹幕,详情查看功能使用说明 - 弹幕 | |
| j2s_changeLevel | hd:number | PC/移动端 | 0/1/2 流畅/高清/超清 | |
| j2s_changeRate | rate:number | PC/移动端 | 1.0/1.25/1.5/2.0 | |
| changeLine(line) | line:number | PC/移动端 | 0/1 线路1/线路2 | |
| getDuration | number | PC/移动端 | 获取video的duration | |
| getCurrentLevel | number | PC | 获取当前清晰度 | |
| getCurrentRate | number | PC | 获取当前倍速 | |
| getCurrentLine | number | PC | 获取当前线路索引 | |
| j2s_resetStream | PC/移动端 | 刷新直播流(接近缓冲末尾) | ||
| toggleFullscreen | PC | 切换全屏/退出全屏 | ||
| showVolumePanel | boolean | PC | 显示/隐藏音量条(UI) | |
| setVideoMuted | isMuted:boolean | 移动端 | 仅移动端支持,设置视频静音,isMuted为true时静音,为false时取消静音 | |
| destroy | PC/移动端 | 销毁播放器 |
示例
player.j2s_resumeVideo();
播放器事件
| 事件名 | 回调参数 | 类型 | 平台支持 | 说明 |
|---|---|---|---|---|
| s2j_onInitOver | / | / | PC/移动端 | 播放器初始化完毕事件 |
| s2j_onLoadedMetadata | cid | string | PC | loadedmetadata 后触发(含 cid 等) |
| s2j_onApiStatus | streamStatus | string | PC/移动端 | 直播流状态,每10s触发一次。取值live/end/stop |
| s2j_volume | volume | number | PC/移动端 | 播放器声音改变时触发,取值0-1 |
| s2j_onStartPlay | cid | string | PC/移动端 | 开始播放时触发,只触发一次 |
| s2j_onPlay | cid | string | PC/移动端 | 开始播放时触发 |
| s2j_onPause | cid | string | PC/移动端 | 暂停时触发 |
| s2j_onSeek | / | / | PC/移动端 | 拖拽播放时触发。注意:PC、移动端回调参数不一致,移动端只获取到拖拽完成后的时间点 |
| s2j_onOver | cid | string | PC/移动端 | 结束播放时触发 |
| s2j_onPlayerKeyUp | keyCode | number | PC | 键盘按键侦听 注意:仅支持PC端 |
| s2j_onLevelsChanged | cid,hd | string,number | PC/移动端 | 清晰度切换时触发,hd为0/1/2 流畅/高清/超清 |
| onLineChanged | cid,line | string,number | PC/移动端 | 线路切换时触发,line为 0/1 线路1/线路2 |
| s2j_onPlayerError | errorCode | string | PC | 播放错误时触发 |
| s2j_barrageStatus | status | string | PC | 弹幕开关变化:on/off |
| s2j_broadcastBarrageMsg | msg | string | PC | 发送弹幕时触发 |
| onLinesDataUpdate | linesData | Array | PC | 线路数据更新([{type,index}]) |
| onLevelsDataUpdate | levelsData | Array | PC | 清晰度数据更新([{type,index}]) |
| onTimeupdate | time | number | PC | 回放进度/时移进度回调 |
| timeupdate | time | number | 移动端 | 回放进度/时移进度回调 |
| onAutoPlay | cid,autoplay | string,boolean | PC | 自动播放探测结果回调 |
| HEAD_AD_CLICKED | data | object | PC/移动端 | 片头广告点击 |
| STOP_AD_CLICKED | data | object | PC/移动端 | 暂停广告点击 |
| playerLoading | boolean | boolean | PC/移动端 | 首屏/缓冲 loading 展示状态 |
| flvError | {err,retryTime} | object | PC | flv.js 错误信息与重试次数 |
| volumechange | object | object | 移动端 | 音量变化回调事件,仅对于调用j2s_setVolume、setVideoMuted的方式修改视频音量时才变化, 调整设备的物理音量不会触发此事件。 注: iOS不支持修改视频音量 |
示例
player.on(eventName, (e) => {
console.info(`播放器触发${eventNmae}事件, 回调参数为:`, e);
});
播放器错误码
| 错误码 | 说明 |
|---|---|
| LIVE-#001 | 传入的参数非法 |
| LIVE-#002 | 用户状态异常 |
| LIVE-#003 | 服务已过期 |
| LIVE-#004 | 直播频道不存在或已关闭 |
| LIVE-#005 | 直播可用分钟数不足 |
| LIVE-#006 | 频道已达到最大同时在线观看人数 |
| LIVE-#007 | 网站白名单限制 |
| LIVE-#008 | 网站黑名单限制 |
| LIVE-#009 | 地区白名单限制 |
| LIVE-#010 | 地区黑名单限制 |
| LIVE-#011 | 直播播放配置文件加载失败/解析错误 |
| LIVE-#012 | 授权或跑马灯加载失败/解析错误/不通过 |
| LIVE-#014 | 超过账号最高并发总人数限制 |
| LIVE-#015 | 播放器识别到抓流 |
| LIVE-#016 | 播放器禁止小窗播放 |
| LIVE-#022 | 跑马灯被删除/修改 |
