channelOld
更新時間:2025-09-11 15:18:09
1、建立頻道
描述
创建一个直播频道,返回直播频道相关的基础信息。
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testCreateChannel() throws Exception, NoSuchAlgorithmException {
LiveChannelRequest liveChannelRequest = new LiveChannelRequest();
LiveChannelResponse liveChannelResponse = null;
try {
liveChannelRequest.setName("Spring 知识精讲").setChannelPasswd("666888");
// .setAutoPlay(LiveConstant.AutoPlay.AOTU_PLAY.getFlag())
// .setScene(LiveConstant.SceneType.PPT.getDesc())
// .setMaxViewer(300)
// .setWatchLayout(LiveConstant.WatchLayout.PPT.getFlag())
// .setLinkMicLimit(2)
// .setPureRtcEnabled(LiveConstant.Flag.YES.getFlag())
// .setReceive(LiveConstant.Flag.YES.getFlag())
liveChannelResponse = new LiveChannelOperateServiceImpl().createChannel(liveChannelRequest);
Assert.assertNotNull(liveChannelResponse);
if (liveChannelResponse != null) {
//to do something ......
log.debug("频道创建成功{}", JSON.toJSONString(liveChannelResponse));
log.debug("网页开播地址:https://live.polyv.net/web-start/login?channelId={} , 登录密码: {}",
liveChannelResponse.getChannelId(), liveChannelRequest.getChannelPasswd());
log.debug("网页观看地址:https://live.polyv.cn/watch/{} ", liveChannelResponse.getChannelId());
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
}
單元測試說明
1、請求正確,回傳LiveChannelResponse物件,B端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.LivexxxRequest]物件驗證失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| userId | false | String | POLYV用戶ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| name | true | String | 自訂頻道名稱,一般是課程主題、會議主題、培訓主題等,例如 財務制度培訓、烏鎮峰會 |
| channelPasswd | true | String | 自訂頻道密碼,B端講師透過此密碼進入直播間開播,長度不能超過16位,必須同時包含字母和數字 |
| autoPlay | false | Integer | 是否自動播放標識,0:關閉自動播放;1:開啟,預設取值 1 |
| playerColor | false | String | 播放器控制欄顏色,預設:#666666 |
| scene | false | String | 直播場景:alone 活動拍攝; ppt 三分屏; topclass 大班課; seminar 研討會; 預設:alone |
| categoryId | false | Integer | 分類ID,新建頻道的所屬分類,如果不提交,則為預設分類(分類ID可透過「取得直播分類」介面得到) |
| maxViewer | false | Integer | 頻道的最大線上人數觀看限制的人數 |
| watchLayout | false | String | 三分屏頻道的觀看佈局,ppt:文件為主;video:影片為主;不設定會使用帳號的通用設定 |
| linkMicLimit | false | Integer | 連麥人數,-1=<取值範圍<=帳號級的連麥人數,-1:表示使用帳號預設的連麥人數,最大16人(註:帳號級連麥人數需通知平台管理員設定才生效) |
| pureRtcEnabled | false | String | 是否為無延遲直播,Y 表示開啟,預設為N |
| receive | false | String | 是否為接收轉播頻道,Y表示是,不填或填其他值為發起轉播頻道(註:需要開啟頻道轉播功能此參數才生效) |
| receiveChannelIds | false | String | 接收轉播頻道號,多個頻道號用半形逗號,隔開,如果receive參數值為Y時,此參數無效(註:需要開啟頻道轉播功能此參數才生效) |
| appId | false | String | POLYV用戶APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV用戶APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| channelId | String | 直播頻道號 |
| userId | String | POLYV用戶ID,和保利威官網一致,取得路徑:官網->登入->直播(開發設定) |
| name | String | 直播頻道名稱 |
| publisher | String | 主持人 |
| description | String | 直播頻道描述 |
| url | String | 直播推流地址 |
| stream | String | 直播流名稱 |
| logoImage | String | 播放器logo |
| logoOpacity | Float | Logo不透明度,1表示完全不透明 |
| logoPosition | String | Logo位置 tr1:左上 tr:右上 b1:左下 br:右下 |
| logoHref | String | Logo的跳轉連結 |
| coverImage | String | 播放前顯示的封面圖 |
| coverHref | String | 封面圖的跳轉連結 |
| waitImage | String | 等待推流時的顯示圖片 |
| waitHref | String | 等待推流時顯示圖片的跳轉連結 |
| cutoffImage | String | 切斷流時的顯示圖片 |
| cutoffHref | String | 切斷流時顯示圖片的跳轉連結 |
| advertType | String | 廣告類型 |
| advertDuration | Integer | 廣告時長,單位:秒 |
| advertWidth | Integer | 廣告區域寬度 |
| advertHeight | Integer | 廣告區域高度 |
| advertImage | String | 圖片廣告 |
| advertHref | String | 廣告的跳轉連結 |
| advertFlvVid | String | 影片廣告ID |
| advertFlvUrl | String | 影片廣告連結 |
| playerColor | String | 播放器控制欄顏色 |
| autoPlay | Boolean | 自動播放,true為自動播放,false為關閉 |
| warmUpFlv | String | 一開始的暖場影片 |
| passwdRestrict | Boolean | 觀看密碼限制,需要輸入觀看密碼才能播放流 |
| passwdEncrypted | String | 觀看密碼加密後的密文 |
| isOnlyAudio | String | 僅推音訊流,Y-是,N-否 |
| isLowLatency | String | 低延遲,Y-是,N-否 |
| m3u8Url | String | 直播拉流(播放)m3u8地址 |
| m3u8Url1 | String | 直播拉流(播放)m3u8地址1 |
| m3u8Url2 | String | 直播拉流(播放)m3u8地址2 |
| m3u8Url3 | String | 直播拉流(播放)m3u8地址3 |
| currentTimeMillis | Long | 伺服器回傳的時間戳(毫秒) |
| linkMicLimit | Integer | 連麥人數 |
| channelLogoImage | String | 頻道圖示 |
| scene | String | 直播場景 alone:活動拍攝 ppt:三分屏 topclass:大班課 seminar:研討會 |
| channelViewerPasswd | String | 參與者密碼 |
| channelPasswd | String | 頻道密碼 |
| streamType | String | 直播方式 |
| pureRtcEnabled | String | 是否是純rtc拉流 Y:是 N:否 |
| type | String | 頻道類型 發起轉播:transmit 接收轉播:receive 普通頻道:normal |
| cnAndEnLiveEnabled | String | 中英文直播間開關 Y:開啟 N:關閉 |
| pushEnUrl | String | 英文推流地址 |
