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 | 英文推流地址 |
