播放器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/行動端 | 直播流狀態,每10秒觸發一次。取值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 | 跑馬燈被刪除/修改 |
