保利威文档中心

帮助中心

deprecatedChannelOperate

更新时间:2025-09-11 15:18:09

1、创建并初始化频道

描述

创建并初始化频道
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/create

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、AuthSetting中AuthType不能直接设置白名单观看,需要先创建频道后再设置观看条件;示例

3、AuthSetting中最多只能设置两个观看条件(即一个主要观看条件,一个次要观看条件),次要条件必须有主要条件才生效

4、AuthSetting不能设置两个AuthType一致的

5、自定义授权对接文档、外部授权对接文档、直接授权对接文档

单元测试

    @Test
    public void testCreateChannelInit() throws Exception, NoSuchAlgorithmException {
        LiveChannelInitRequest liveChannelInitRequest = new LiveChannelInitRequest();
        LiveChannelInitResponse liveChannelInitResponse = null;
        try {
            LiveChannelInitRequest.BasicSetting basicSetting = new LiveChannelInitRequest.BasicSetting().setName(
                            "创建并初始化频道-验证码观看")
                    .setChannelPasswd(getRandomString(6))
                    .setAutoPlay(1)
                    .setPlayerColor("#666666")
                    .setScene(LiveConstant.SceneType.ALONE.getDesc())
                    .setCategoryId(340019)
                    .setMaxViewer(0)
                    .setStartTime(null)
                    .setDesc("这是一个描述")
                    .setPublisher("sadboy主讲")
                    .setLinkMicLimit(-1)
                    .setPureRtcEnabled("N")
                    .setReceiveChannelIds(null)
                    .setSubAccount("test-dev@qq.com")
                    .setOnlyOneLiveEnabled("N");
            liveChannelInitRequest.setBasicSetting(basicSetting);
            //验证码观看
            LiveChannelInitRequest.AuthSetting codeAuthSettings = new LiveChannelInitRequest.AuthSetting().setRank(1)
                    .setAuthType(LiveConstant.AuthType.CODE.getDesc())
                    .setEnabled("Y")
                    .setAuthCode("123456")
                    .setQcodeTips("提示文案")
                    .setQcodeImg("https://live.polyv.net/static/images/live-header-logo.png");
            //收费观看
            LiveChannelInitRequest.AuthSetting moneyAuthSettings = new LiveChannelInitRequest.AuthSetting().setRank(2)
                    .setAuthType(LiveConstant.AuthType.PAY.getDesc())
                    .setEnabled("Y")
                    .setPayAuthTips("付费观看")
                    .setPrice(0.01f)
                    .setQcodeTips("提示文案")
                    .setQcodeImg("https://live.polyv.net/static/images/live-header-logo.png");
            List<LiveChannelInitRequest.AuthSetting> authSettings = new ArrayList<LiveChannelInitRequest.AuthSetting>();
            authSettings.add(codeAuthSettings);
            authSettings.add(moneyAuthSettings);
            liveChannelInitRequest.setAuthSettings(authSettings);
            //回放设置
            LiveChannelInitRequest.PlaybackSetting playbackSetting = new LiveChannelInitRequest.PlaybackSetting();
            playbackSetting.setGlobalSettingEnabled("N").setPlaybackEnabled("Y").setType("single").setOrigin("record");
            liveChannelInitRequest.setPlaybackSetting(playbackSetting);
            //设置讲师
            LiveChannelInitRequest.Teacher teacher = new LiveChannelInitRequest.Teacher();
            teacher.setActor("讲师").setNickname("王老师");
            liveChannelInitRequest.setTeacher(teacher);
            //设置角色
            LiveChannelInitRequest.Roles assistantRole = new LiveChannelInitRequest.Roles();
            assistantRole.setNickname("孙助教").setActor("助教").setPasswd(getRandomString(6)).setRole("Assistant");
            LiveChannelInitRequest.Roles guestRole = new LiveChannelInitRequest.Roles();
            guestRole.setNickname("赵嘉宾").setActor("嘉宾").setPasswd(getRandomString(6)).setRole("Guest");
            List<LiveChannelInitRequest.Roles> roles = new ArrayList<>();
            roles.add(assistantRole);
            roles.add(guestRole);
            liveChannelInitRequest.setRoles(roles);
            liveChannelInitResponse = new LiveChannelOperateServiceImpl().createChannelInit(liveChannelInitRequest);
            Assert.assertNotNull(liveChannelInitResponse);
            if (liveChannelInitResponse != null) {
                //to do something ......
                log.debug("测试创建并初始化频道 验证码观看创建成功{}", JSON.toJSONString(liveChannelInitResponse));
                //TODO 此处创建完成后删除了频道,正式使用需删除该语句
                deleteChannel(liveChannelInitResponse.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、请求正确,返回LiveChannelInitResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
basicSetting true BasicSetting 基础设置【详见BasicSetting参数描述
authSettings false Array 观看条件设置【详见AuthSetting参数描述
playbackSetting false PlaybackSetting 回放设置【详见PlaybackSetting参数描述
teacher false Teacher 讲师设置【详见Teacher参数描述
roles false Array 角色设置【详见Roles参数描述
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
BasicSetting参数描述
参数名 必选 类型 说明
name true String 频道名称
channelPasswd false String 频道密码,长度不能超过16位,必须同时包含字母和数字
autoPlay false Integer 是否自动播放,0-不自动播放;1-自动播放,默认1
playerColor false String 播放器控制栏颜色,默认:#666666
scene false String 直播场景:alone 活动拍摄;ppt 三分屏;topclass 大班课;seminar:研讨会
categoryId false Integer 新建频道的所属分类,如果不提交,则为默认分类(分类ID可通过“获取直播分类”接口得到)
maxViewer false Integer 最大同时在线人数
startTime false Date 直播开始时间
desc false String 直播介绍的内容
publisher false String 主持人
linkMicLimit false Integer 连麦人数,-1=<取值范围<=账号级的连麦人数,-1:表示使用账号默认的连麦人数,最大16人(注:账号级连麦人数需通知平台管理员设置才生效)
pureRtcEnabled false String 是否为无延时直播,Y 表示开启,默认为N
receive false String 是否为接收转播频道,Y 表示是,不填或者填其他值为发起转播频道(注:需要开启频道转播功能该参数才生效)
receiveChannelIds false String 接收转播频道号,多个频道号用半角逗号,隔开,如果receive参数值为Y时,此参数无效(注:需要开启频道转播功能该参数才生效)
onlyOneLiveEnabled false String 频道是否只能直播一次,Y是,N否, 默认为N
coverImg false String 封面图片地址
splashEnabled false String 引导页开关,默认为N;Y:是,N:否
splashImg false String 引导页图片地址,非保利威域名下的图片需先调用上传图片资源上传
likes false String 点赞数
pageView false String 累积观看数
closeBarrage false String 是否关闭弹幕功能 Y:表示关闭 N:表示开启【对应api文档的closeDanmu字段】
showBarrageInfoEnabled false String 是否显示弹幕信息开关, Y:表示显示 N:表示不显示【对应api文档的showDanmuInfoEnabled字段】
subAccount false String 子账号邮箱,填写时频道会创建在该子账号下(子账号不能被删除或者禁用),暂无法通过接口获取
AuthSetting参数描述
参数名 必选 类型 说明
rank true Integer 通用参数:主要观看条件为1,次要观看条件为2
enabled true String 通用参数:是否开启,Y为开启,N为关闭
authType false String 通用参数:付费观看-pay,验证码观看-code,白名单观看-phone,登记观看-info,自定义授权观看-custom,外部授权-external,直接授权(独立授权)-direct
payAuthTips false String 付费观看参数:欢迎语标题,付费观看时该字段必填
price false Float 付费观看参数:价格,单位为元,付费观看时该字段必填
watchEndTime false Date 付费观看参数:付费有效截止日期。watchEndTime和validTimePeriod只能设置一个,当watchEndTime和validTimePeriod都为空时,表示付费永久有效
validTimePeriod false Integer 付费观看参数:付费有效时长,单位天。当watchEndTime和validTimePeriod都为空时,表示付费永久有效
authCode false String 验证码观看参数:验证码,验证码观看时该字段必填
qcodeTips false String 验证码观看参数:提示文案
qcodeImg false String 验证码观看参数:公众号二维码地址
authTips false String 白名单观看参数:提示文案
infoFields false Array 登记观看参数,登记观看时该字段必填【详见InfoField参数描述
externalKey false String 外部授权参数:SecretKey,外部授权时该字段必填
externalUri false String 外部授权参数:自定义url,外部授权时该字段必填
externalRedirectUri false String 外部授权参数:跳转地址
customKey false String 自定义授权参数:SecretKey,自定义授权时该字段必填
customUri false String 自定义授权参数:自定义url,自定义授权时该字段必填
directKey false String 直接授权参数:直接授权签名使用SecretKey
PlaybackSetting参数描述
参数名 必选 类型 说明
globalSettingEnabled false String 是否应用通用设置:Y:是; N:否;
playbackEnabled false String 回放开关:Y:开启; N:关闭;
type false String 回放方式:single:单个回放; list:列表回放;
origin false String 回放来源:record:暂存; playback:回放列表; vod:点播列表;
videoId false String 单个回放的视频id
Teacher参数描述
参数名 必选 类型 说明
nickname false String 讲师昵称
actor false String 讲师头衔
passwd false String 讲师密码(和basicSetting.channelPasswd说明一致,此处可不设置)
avatar false String 头像图片地址
Roles参数描述
参数名 必选 类型 说明
nickname false String 角色昵称
actor false String 角色头衔
passwd false String 角色密码
avatar false String 头像图片地址
role false String 角色类型:Assistant:助教; Guest-嘉宾;
InfoField参数描述
参数名 必选 类型 说明
name false String 登记信息名,最多为8字符
type true String 登记类型,姓名-name,文本-text,手机号码-mobile,数字-number,下拉选项-option,登记观看时该字段必填
options false String 下拉选项时,下拉的选项值,以英文逗号分割。选项个数上限为8个;选项内容最多为8字符
placeholder false String 文本框输入提示,最多为8字符
sms false String 短信验证开关,Y 开启,N 关闭

返回对象描述

参数名 类型 说明
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 String 广告时长,单位:秒
advertWidth String 广告区域宽度
advertHeight String 广告区域高度
advertImage String 图片广告
advertHref String 广告的跳转链接
advertFlvVid String 视频广告ID
advertFlvUrl String 视频广告链接
playerColor String 播放器控制栏颜色
autoPlay Boolean 自动播放
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
channelLogoImage String 频道图标
scene String 直播场景 alone:活动拍摄 ppt:三分屏 topclass:大班课 seminar:研讨会
channelViewerPasswd String 参与者密码
channelPasswd String 频道密码
linkMicLimit Integer 连麦人数 -1:使用账号连麦分数 0-16:代表连麦人数
streamType String 直播方式 client:客户端推流 pull:拉流 thirdpull:第三方拉流 disk:硬盘推流 audio:音频直播
pureRtcEnabled String 是否为无延时直播,默认为N Y:是 N:否
type String 频道类型 发起转播:transmit 接收转播:receive 普通频道:normal
cnAndEnLiveEnabled String 中英文直播间开关 Y:开启 N:关闭
pushEnUrl String 英文推流地址
currentTimeMillis Long 服务器返回的时间戳(毫秒)






2、查询频道基本信息

描述

查询频道基本信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/get

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testGetChannelBasicInfo() throws Exception, NoSuchAlgorithmException {
        LiveChannelBasicInfoRequest liveChannelBasicInfoRequest = new LiveChannelBasicInfoRequest();
        LiveChannelBasicInfoResponse liveChannelBasicInfoResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelBasicInfoRequest.setChannelId(channelId);
            liveChannelBasicInfoResponse = new LiveChannelOperateServiceImpl().getChannelBasicInfo(
                    liveChannelBasicInfoRequest);
            Assert.assertNotNull(liveChannelBasicInfoResponse);
            if (liveChannelBasicInfoResponse != null) {
                //to do something ......
                log.debug("查询频道基本信息成功{}", JSON.toJSONString(liveChannelBasicInfoResponse));
            }
        } 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、请求正确,返回LiveChannelBasicInfoResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
channelId true String 频道号
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

参数名 类型 说明
channelId String 频道号
name String 频道名称
scene String 直播场景:alone 活动拍摄;ppt 三分屏;topclass 大班课;seminar:研讨会
newScene String 新版后台直播场景,若未定义则取scene
undefined:未定义
topclass:大班课
double:双师课(需开通权限)
train:企业培训
seminar:研讨会
alone:活动营销
template String 新版后台直播模板,若老版频道,该字段为未定义
undefined:未定义
ppt:文档+视频
alone:纯视频(专业)
topclass:纯视频(极速)
seminar:研讨会
portrait_ppt:文档+视频(竖屏)
portrait_alone:视频(竖屏)
channelPasswd String 频道密码
pureRtcEnabled String 无延迟开关
Y:开启
N:关闭
publisher String 主持人名称
startTime Date 直播开始时间,关闭时为null
pageView Integer 页面累计观看数
likes Integer 观看页点赞数
coverImg String 频道图标url
splashImg String 引导页图片地址
splashEnabled String 引导页开关(取值为Y/N)
desc String 直播介绍
consultingMenuEnabled String 咨询提问开关(取值为Y/N)
maxViewerRestrict String 限制最大在线观看人数开关(取值为Y/N)
maxViewer Integer 最大在线观看人数
watchStatus String 频道的观看页状态,取值为:live(直播中)、end(直播结束)、playback(回放中)、waiting(等待直播)
watchStatusText String 观看页状态描述,直播中,回放中,已结束,未开始
userCategory UserCategory 频道所属分类的信息【详见UserCategory参数描述
authSettings Array 直播观看条件列表【详见AuthSetting参数描述
UserCategory参数描述
参数名 类型 说明
categoryId Integer 分类ID
categoryName String 分类名称
userId String POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置)
rank Integer 分类的排序值
AuthSetting参数描述
参数名 类型 说明
channelId String 频道号
userId String POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置)
rank Integer 用于实现一个频道设置两个观看条件,为1或2(1为主要条件,2为次要条件)
globalSettingEnabled String 是否开启全局设置(Y/N)
enabled String 是否开启观看条件(Y/N)
authType String 观看条件类型(1. 无限制 none 2. 验证码观看 code 3. 付费观看 pay 4. 白名单观看 phone 5. 登记观看 info 6. 分享观看 wxshare 7. 自定义授权观看 custom 8. 外部授权观看 external)
authTips String 白名单观看提示信息
payAuthTips String 付费观看提示信息
authCode String 验证码观看方式的验证码
qcodeTips String 验证码观看方式的二维码提示
qcodeImg String 验证码观看方式的二维码图片
price Float 付费观看的价格
watchEndTime Date 付费观看,截止时间,为null表示:一次付费,永久有效
validTimePeriod Integer 付费观看的截止时长(天)
customKey String 自定义授权观看的key
customUri String 自定义授权观看的接口地址
externalKey String 外部授权观看的key
externalUri String 外部授权观看的接口地址
externalRedirectUri String 外部授权观看,用户直接访问观看页时的跳转地址






3、批量创建频道

描述

批量创建频道
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/batch-create

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testCreateChannelList() throws Exception, NoSuchAlgorithmException {
        LiveCreateChannelListRequest liveCreateChannelListRequest = new LiveCreateChannelListRequest();
        LiveCreateChannelListResponse liveCreateChannelListResponse;
        try {
            List<LiveCreateChannelListRequest.LiveChannelBasic> channels =
                    new ArrayList<LiveCreateChannelListRequest.LiveChannelBasic>();
            for (int i = 0; i <= 2; i++) {
                LiveCreateChannelListRequest.LiveChannelBasic liveChannel =
                        new LiveCreateChannelListRequest.LiveChannelBasic();
                liveChannel.setName("批量创建" + i)
                        .setChannelPasswd("123456" + i)
                        .setCourseId("c" + i)
                        .setAutoPlay(1)
                        .setPlayerColor("#666666")
                        .setScene(LiveConstant.SceneType.ALONE.getDesc())
                        .setSubAccount("test-dev@qq.com")
                        .setCategoryId(340019);
                channels.add(liveChannel);
            }
            liveCreateChannelListRequest.setChannels(channels);
            liveCreateChannelListResponse = new LiveChannelOperateServiceImpl().createChannelList(
                    liveCreateChannelListRequest);
            Assert.assertNotNull(liveCreateChannelListResponse);
            if (liveCreateChannelListResponse != null) {
                //to do something ......
                log.debug("频道批量创建成功{}", JSON.toJSONString(liveCreateChannelListResponse));
            }
        } 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、请求正确,返回LiveCreateChannelListResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
channels true Array 频道列表【详见LiveChannelBasic参数描述
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
LiveChannelBasic参数描述
参数名 必选 类型 说明
name true String 频道名称
channelPasswd false String 频道密码,长度不能超过16位,必须同时包含字母和数字
courseId false String 课程号
autoPlay false Integer 是否自动播放,0/1,默认1.注意,如果该值为空,则该频道会使用全局的“功能开关设置”。如果非空,则会使用频道的“功能开关设置”。
playerColor false String 播放器控制栏颜色,默认:#666666
scene false String 直播场景,alone 活动拍摄; ppt 三分屏; topclass 大班课;seminar:研讨会
categoryId false Integer 新建频道的所属分类,如果不提交,则为默认分类。分类ID可通过“获取直播分类”接口得到
subAccount false String 子账号邮箱,填写时频道会创建在该子账号下(子账号不能被删除或者禁用),暂无法通过接口获取

返回对象描述

参数名 类型 说明
channels Array 频道基本信息【详见LiveChannelResponse参数描述
LiveChannelResponse参数描述
参数名 类型 说明
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 英文推流地址






4、创建角色-助教

描述

创建角色-助教
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelAccount/%s/add

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testCreateSonChannelAssistant() throws Exception, NoSuchAlgorithmException {
        LiveCreateSonChannelRequest liveCreateSonChannelRequest = new LiveCreateSonChannelRequest();
        LiveCreateSonChannelResponse liveCreateSonChannelResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            List<String> sonChannelIds = getDelSonChannelIds();
            for (String temp : sonChannelIds) {
                deleteSonChannel(temp);
            }
            liveCreateSonChannelRequest.setChannelId(channelId)
                    .setRole(null)
                    .setNickname("sadboy")
                    .setActor("教授")
                    .setAvatar("https://www.polyv.net/assets/dist/images/web3.0/c-header/hd-logo.svg?v=2.0");
            liveCreateSonChannelResponse = new LiveChannelOperateServiceImpl().createSonChannel(
                    liveCreateSonChannelRequest);
            Assert.assertNotNull(liveCreateSonChannelResponse);
            if (liveCreateSonChannelResponse != null) {
                //to do something ......
                log.debug("创建角色成功{}", JSON.toJSONString(liveCreateSonChannelResponse));
            }
        } 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、请求正确,返回LiveCreateSonChannelResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
channelId true String 频道号
role false String 默认不传为助教,传Guest为嘉宾
nickname false String 创建的助教或嘉宾昵称
actor false String 创建的助教或嘉宾头衔
avatar false String 创建的助教或嘉宾头像
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

参数名 类型 说明
account String 助教ID
userId String POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置)
channelId String 频道号
passwd String 助教密码
nickname String 助教名称
stream String 助教流名(单独使用无效)
status String 助教状态(Y/N)
createdTime Date 创建助教时间
lastModified Date 助教最后修改时间
sort Integer 频道中所有助教序号
avatar String 助教头像
pageTurnEnabled String 助教翻页权限(只能一个助教有,Y或N)
notifyEnabled String 发布公告权限(Y/N)
checkinEnabled String 开启签到权限(Y/N)
voteEnabled String 发起投票(Y/N)
role String 角色
assistant:助教
guest:嘉宾






5、设置角色

描述

设置角色
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelAccount/%s/update

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testUpdateSonChannelInfo() throws Exception, NoSuchAlgorithmException {
        LiveUpdateSonChannelInfoRequest liveUpdateSonChannelInfoRequest = new LiveUpdateSonChannelInfoRequest();
        Boolean liveUpdateSonChannelInfoResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            String sonChannelId = createSonChannel(channelId);
            liveUpdateSonChannelInfoRequest.setChannelId(channelId)
                    .setAccount(sonChannelId)
                    .setNickname("sadboy")
                    .setPassword(getRandomString(16))
                    .setAvatar("https://www.polyv.net/assets/dist/images/web3.0/c-header/hd-logo.svg?v=2.0")
                    .setActor("教授")
                    .setPageTurnEnabled("Y")
                    .setNotifyEnabled("Y");
            liveUpdateSonChannelInfoResponse = new LiveChannelOperateServiceImpl().updateSonChannelInfo(
                    liveUpdateSonChannelInfoRequest);
            Assert.assertNotNull(liveUpdateSonChannelInfoResponse);
            if (liveUpdateSonChannelInfoResponse) {
                //to do something ......
                log.debug("设置角色信息成功");
            }
        } 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、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
channelId true String 频道号
account true String 助教/嘉宾账号
nickname false String 昵称
password false String 角色密码
avatar false String 头像
actor false String 角色头衔
pageTurnEnabled false String 助教翻页权限,值为Y或N,Y为开启,N为关闭
notifyEnabled false String 角色公告权限,值为Y或N,Y为开启,N为关闭
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

true为设置成功,false为设置失败




6、获取讲师信息

描述

获取讲师信息
接口地址(仅做说明使用):https://api.polyv.net/live//v3/channel/account/getTeacher

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testChannelGetTeacher() throws Exception, NoSuchAlgorithmException {
        LiveChannelGetTeacherRequest liveChannelGetTeacherRequest = new LiveChannelGetTeacherRequest();
        LiveChannelGetTeacherResponse liveChannelGetTeacherResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelGetTeacherRequest.setChannelId(channelId);
            liveChannelGetTeacherResponse = new LiveChannelOperateServiceImpl().getTeacher(liveChannelGetTeacherRequest);
            Assert.assertNotNull(liveChannelGetTeacherResponse);
            if (liveChannelGetTeacherResponse != null) {
                //to do something ......
                log.debug("获取讲师信息成功: %s",JSON.toJSONString(liveChannelGetTeacherResponse));
            }
        } 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、请求正确,返回LiveChannelGetTeacherResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
channelId true String 频道号
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

参数名 类型 说明
account String 讲师id,同频道号
actor String 讲师头衔
avatar String 讲师头像,例://liveimages.videocc.net/uploaded/images/2023/04/gjps9etdpx.jpg
channelId String 频道号
nickname String 讲师昵称
passwd String 讲师登录密码
loginCode String 该字段为null
role String 该字段为null

联系客服,在线咨询