直播JavaSDK使用

一、SDK地址

SDK地址

二、JAR包下载

版本号 版本下载 版本内容
v1.4.0 v1.4.0-JAR无依赖
v1.4.0-JAR带依赖
获取频道菜单列表,设置频道菜单,查询账号分钟数,获取打赏设置,修改现金打赏设置,修改道具打赏设置的接口实现
v1.3.0 v1.3.0-JAR无依赖
v1.3.0-JAR带依赖
频道某段时间的直播统计数据,频道点赞数和历史观看人数,简单频道信息列表接口,http正向代理,反向代理的实现
v1.2.0 v1.2.0-JAR无依赖
v1.2.0-JAR带依赖
频道录制文件合并,频道获取回放列表,频道设置回放列表默认回放视频,频道删除回放视频接口实现,优化创建频道不传autoplay参数可以自动播放bug
v1.1.0 v1.1.0-JAR无依赖
v1.1.0-JAR带依赖
频道录制文件列表,频道录制文件接口实现
v1.0.0 v1.0.0-JAR无依赖
v1.0.0-JAR带依赖
项目基础架构搭建,创建直播频道,设置频道最大在线人数,修改频道名称,修改主持人姓名,删除直播频道,设置频道号密码,设置后台回放开关,分页获取频道观看日志,获取频道直播状态,获取频道汇总播放数据,获取多频道观看页人数,获取直播频道信息接口实现

三、当前版本

v1.4.0

四、已实现直播接口

接口 接口文档地址
创建频道 http://dev.polyv.net/2017/liveproduct/l-api/zbglgn/create-channel/
设置频道最大在线人数 http://dev.polyv.net/2018/liveproduct/l-api/szgkygg/setmaxviewerv2/
修改频道名称 http://dev.polyv.net/2016/liveproduct/l-api/szgkygg/updatechannelname/
修改主持人姓名 http://dev.polyv.net/2017/liveproduct/l-api/szgkygg/setpublisher/
删除直播频道 http://dev.polyv.net/2018/liveproduct/l-api/zbglgn/deletechannel/
设置频道号密码 http://dev.polyv.net/2017/liveproduct/l-api/zbglgn/updatepasswd/
设置后台回放开关 http://dev.polyv.net/2017/liveproduct/l-api/hfgn/setplaybackenabled/
获取频道观看日志 http://dev.polyv.net/2018/liveproduct/l-api/hqzbxx/viewlog-page/
获取频道直播状态 http://dev.polyv.net/2016/liveproduct/l-api/hqzbxx/live_status/
获取按频道汇总统计的播放数据 http://dev.polyv.net/2018/liveproduct/l-api/hqzbxx/channel_play_summary/
获取多个频道观看页人数接口 http://dev.polyv.net/2018/liveproduct/l-api/hqzbxx/get-realtime-viewers/
获取频道信息接口 http://dev.polyv.net/2017/liveproduct/l-api/hqzbxx/getchannelid-2/
获取频道录制文件信息接口 http://dev.polyv.net/2017/liveproduct/l-api/hfgn/recordfilesinfo/
直播录制文件转存点播接口 http://dev.polyv.net/2017/liveproduct/l-api/hfgn/livetovod/
频道录制文件合并接口 http://dev.polyv.net/2018/liveproduct/l-api/hfgn/recordfile-merge/
获取频道回放列表接口 http://dev.polyv.net/2017/liveproduct/l-api/hfgn/getplaybacklist/
删除频道回放视频接口 http://dev.polyv.net/2017/liveproduct/l-api/zbglgn/create-channel/
回放列表设置默认回放视频接口 http://dev.polyv.net/2017/liveproduct/l-api/hfgn/setdefault/
频道设置点赞数和观看人数接口 http://dev.polyv.net/2018/liveproduct/l-api/szgkygg/update-likes/
获取频道某段时间的直播统计数据接口 http://dev.polyv.net/2017/liveproduct/l-api/hqzbxx/summary/
获取简单的频道列表接口 http://dev.polyv.net/2018/liveproduct/l-api/hqzbxx/get-simple-channel-list/
获取频道菜单列表接口 http://dev.polyv.net/2018/liveproduct/l-api/hqzbxx/channel-menu-list/
通过菜单ID设置频道菜单接口 http://dev.polyv.net/2018/liveproduct/l-api/szgkygg/update-channel-menu/
获取用户分钟数接口 http://dev.polyv.net/2017/liveproduct/l-api/hqzbxx/get-user-durations/
获取频道打赏设置接口 http://dev.polyv.net/2018/liveproduct/l-api/hqzbxx/donate-get/
频道现金打赏设置接口 http://dev.polyv.net/2018/liveproduct/l-api/szgkygg/updatecash/
频道道具打赏设置接口 http://dev.polyv.net/2018/liveproduct/l-api/szgkygg/updategood/

五、调用接口设置代理方式(若无需要请勿设置):

1、设置正向代理

//  获取频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
// 设置正向代理(域名/ip,端口, scheme[http/https])
plChannelService.initForwardProxy({域名}, {端口}, "http");

2、设置反向代理

PLChannelService plChannelService = new PLChannelServiceImpl();
// 方法一:设置反向代理(域名,端口, scheme[http/https])
plChannelService.initReverseProxy({域名}, {端口}, "http");

// 方法二:设置反向代理(域名,端口,ip, scheme[http/https])
plChannelService.initReverseProxy({域名}, {端口}, {ip}, "http");

3、取消设置代理方法

PLChannelService plChannelService = new PLChannelServiceImpl();
// 取消代理(域名,端口)
plChannelService.destroyProxy();

4、 示例

// 创建service对象
PLChannelService plChannelService = new PLChannelServiceImpl();
// 设置反向代理  
plChannelService.initReverseProxy("localhost", 8080, "127.0.0.1", "http");

PLChannelNameSetRequest request = new PLChannelNameSetRequest("XXXXX","XXXXXXXXXXXXXXXXXXXX");
request.setName("xxxx");        
PLChannelCommonResult result = plChannelService.setChannelName(166306, request);

六、频道接口使用:

1、创建直播频道

//  创建频道的创建请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelCreateRequest request = new PLChannelCreateRequest("APPID", "APPSECRET");
//  设置用户ID
request.setUserId("USERID");
//  设置密码
request.setChannelPasswd("123456");
//  设置名称
request.setName("XXX");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的创建频道方法获取请求结果对象
PLChannelCreateResult result = plChannelService.createChannel(request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

2、设置频道最大在线人数

//  创建设置频道的最大在线人数请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelMaxViewerSetRequest request = new PLChannelMaxViewerSetRequest("APPID", "APPSECRET");
//  设置用户ID
request.setUserId("USERID");
//  设置最大在线人数
request.setMaxViewer("200");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的设置最大在线人数方法获取请求结果对象
PLChannelCommonResult result = plChannelService.setChannelMaxViewer("频道号", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

3、修改频道名称

//  创建设置频道的名称请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelNameSetRequest request = new PLChannelNameSetRequest("APPID", "APPSECRET");
//  设置频道名称
request.setName("XXX");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的设置频道名称方法获取请求结果对象
PLChannelCommonResult result = plChannelService.setChannelName("频道号", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

4、修改主持人姓名

//  创建设置频道的主持人名称请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelPublisherSetRequest request = new PLChannelPublisherSetRequest("APPID", "APPSECRET");
 //  设置频道号
request.setChannelId("频道号");
//   设置主持人名称
request.setPublisher("XXX");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的设置主持人名称方法获取请求结果对象
PLChannelCommonResult result = plChannelService.setChannelPublisher("用户ID", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

5、删除直播频道

//  创建删除频道请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelDeleteRequest request = new PLChannelDeleteRequest("APPID", "APPSECRET");
 //  设置用户ID
request.setUserId("USERID");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的删除频道方法获取请求结果对象
PLChannelCommonResult result = plChannelService.deleteChannel("频道号", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

6、设置频道号密码

//  创建设置频道密码请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelPasswordSetRequest request = new PLChannelPasswordSetRequest("APPID", "APPSECRET");
//   设置频道密码
request.setPasswd("123456");
 //  设置频道号
request.setChannelId("频道号");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的设置频道密码方法获取请求结果对象
PLChannelCommonResult result = plChannelService.setChannelPassword("USERID", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

7、设置后台回放开关

//  创建设置频道回放开关请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelPlaybackSetRequest request = new PLChannelPlaybackSetRequest("APPID", "APPSECRET");
//   设置回放开关(Y/N)
request.setPlayBackEnabled("Y");
 //  设置频道号
request.setChannelId("频道号");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的设置回放开关方法获取请求结果对象
PLChannelCommonResult result = plChannelService.setChannelPlayback("USERID", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

8、获取频道观看日志

//  创建频道观看日志请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelViewLogsGetRequest request = new PLChannelViewLogsGetRequest("APPID", "APPSECRET");
//   设置查询第几页
request.setPage(1);
//   设置每页显示数量
request.setPageSize(10);
//   设置查询当天日期(格式:yyyy-MM-dd)
request.setCurrentDay("2018-03-06");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的频道观看日志方法获取请求结果对象
PLChannelViewLogsGetResult result = plChannelService.getChannelViewLogs("频道号", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

9、获取频道直播状态

//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的频道直播状态方法获取直播状态(result)----- 流名可以通过获取直播信息接口获取
String result = plChannelService.getChannelLiveStatus("流名");

10、获取按频道汇总统计的播放数据

//  创建获取按频道汇总统计的播放数据请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelSummaryListGetRequest request = new PLChannelSummaryListGetRequest("APPID", "APPSECRET");
//   查询时间段的开始日期
request.setStartDate("2017-01-22");
//   查询时间段的结束日期
request.setEndDate("2018-01-22");
//   查询频道号(非必须设置, 多频道使用逗号隔开)
request.setChannelIds("频道号");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的获取按频道汇总统计的播放数据方法获取请求结果对象
PLChannelSummaryListGetResult result = plChannelService.getChannelSummaryList("USERID", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

11、获取多个频道观看页人数接口

//  创建获取多个频道观看页人数接口请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelViewersGetRequest request = new PLChannelViewersGetRequest("APPID", "APPSECRET");
//   设置频道号(同时查询多个频道号使用逗号隔开)
request.setChannelIds("频道号");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的获取多个频道观看页人数接口方法获取请求结果对象
PLChannelViewersGetResult result = plChannelService.getChannelViewers(request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

12、获取频道信息接口

//  获取频道信息接口请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelGetRequest request = new PLChannelGetRequest("APPID", "APPSECRET");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的获取频道信息接口方法获取请求结果对象
PLChannelGetResult result = plChannelService.getChannel("频道号", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

13、获取频道录制文件信息接口

//  获取频道录制文件信息请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelRecordFilesGetRequest request = new PLChannelRecordFilesGetRequest("APPID", "APPSECRET");
request.setUserId("用户ID");
// 查询开始日期
request.setStartDate("2017-11-00");
// 查询结束日期
request.setEndDate("2018-05-00");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的获取频道录制文件信息接口方法获取请求结果对象
PLChannelRecordFilesGetResult result = plChannelService.getChannelRecordFiles("频道号", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

14、直播录制文件转存点播接口

//  获取频道直播录制文件转存点播请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelRecordFileConvertRequest request = new PLChannelRecordFileConvertRequest("APPID", "APPSECRET");
request.setUserId("用户ID"); 
// 从录制文件接口获取的录制文件信息中的文件url
request.setFileUrl("http://rflive.videocc.net/6dd9ef824d20170517181045487/recordf.6dd9ef824d20170517181045487_20180411200736.mp4");
// 转存文件名
request.setFileName("录制文件");
// 转存点播对应的目录
request.setCataid("目录ID");
// 转存点播对应的目录名
request.setCataname("目录名");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的直播录制文件转存点播接口方法获取请求结果对象
PLChannelCommonResult result = plChannelService.convertChannelRecords("频道号", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

15、 频道录制文件合并接口

//  频道录制文件合并接口请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelRecordFileMergeRequest request = new PLChannelRecordFileMergeRequest("APPID", "APPSECRET");
// 合并文件地址(通过逗号相连)
request.setUrls("http://rflive.videocc.net/a.mp4,http://rflive.videocc.net/b.mp4");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的合并录制文件的方法获取请求结果对象
PLChannelCommonResult result = plChannelService.mergeChannelRecords("频道号", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

16、获取频道回放列表接口

//  获取频道回放列表请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelPlaybackListGetRequest request = new PLChannelPlaybackListGetRequest("APPID", "APPSECRET");
// 设置查询页数
request.setPage(1);
// 设置每页显示多少条
request.setPageSize(5);
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的获取频道信息接口方法获取请求结果对象
PLChannelPlaybackListGetResult result = plChannelService.getChannelPlaybacks("频道号", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

17、删除频道回放视频接口

//  删除频道回放视频请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelPlaybackDeleteRequest request = new PLChannelPlaybackDeleteRequest("APPID", "APPSECRET");
// 要删除频道回放视频ID
request.setVideoId("698f979a78");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的删除频道回放视频接口方法获取请求结果对象
PLChannelCommonResult result = plChannelService.deletePlaybackVideo("频道号", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

18、回放列表设置默认回放视频接口

//  设置默认回放视频请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelPlaybackSetDefaultRequest request = new PLChannelPlaybackSetDefaultRequest("APPID", "APPSECRET");
// 设置为默认回放的视频ID
request.setVideoId("698f979a78");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道接口对象的设置默认回放视频接口方法获取请求结果对象
PLChannelCommonResult result = plChannelService.setPlaybackListDefault("频道号", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

19、频道设置点赞数和观看人数接口

//  设置设置点赞数和观看人数请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelLikesUpdateRequest request = new PLChannelLikesUpdateRequest("APPID", "APPSECRET");
// 设置点赞数
request.setLikes(3233);
// 设置观众数
request.setViewers(333);
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道设置点赞数和观看人数接口方法获取请求结果对象
PLChannelCommonResult result = plChannelService.updateLikes("频道号", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

20、获取频道某段时间的直播统计数据接口

//  设置频道某段时间的直播统计数据请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelDailySummaryRequest request = new PLChannelDailySummaryRequest("APPID", "APPSECRET");
// 设置查询数据的开始时间和结束时间
request.setStartDay("2018-01-01");
request.setEndDay("2018-07-01");
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用频道频道某段时间的直播统计数据接口方法获取请求结果对象
PLChannelDailySummaryResult result = plChannelService.getChannelDailySummary("频道号", request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

21、获取简单的频道列表接口

//  设置获取简单的频道列表请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelManagementListRequest request = new PLChannelManagementListRequest("APPID", "APPSECRET");
// 设置为当前第几页以及每页显示的数量
request.setPage(1);
request.setPageSize(5);
//  频道接口对象
PLChannelService plChannelService = new PLChannelServiceImpl();
//  调用获取简单的频道列表接口方法获取请求结果对象
 PLChannelManagementListResult result = plChannelService.getSimpleChannelList(request);
//  成功响应
if(null != result && 200 == result.getCode()) {
        ...     //业务流程
}

22、获取频道菜单列表接口

//  设置获取频道菜单列表请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelMenuListGetRequest request = new PLChannelMenuListGetRequest("APPID", "APPSECRET", 频道号);
//  频道菜单接口对象
PLChannelMenuService plChannelMenuService = new PLChannelMenuServiceImpl();
//  调用获取频道菜单列表接口方法获取请求结果对象
PLCommonListResult<ChannelMenu> result = plChannelMenuService.getMenus(request);
//  成功响应
if(result.isRequestOk()) {
        ...     //业务流程
}

23、通过菜单ID设置频道菜单接口

//  通过菜单ID设置频道菜单请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelMenuSetRequest request = new PLChannelMenuSetRequest("APPID", "APPSECRET", "菜单ID", "菜单内容");
//  频道菜单接口对象
PLChannelMenuService plChannelMenuService = new PLChannelMenuServiceImpl();
//  通过菜单ID设置接口方法获取请求结果对象
PLCommonResult result = plChannelMenuService.setMenuById(request);
//  成功响应
if(result.isRequestOk()) {
        ...     //业务流程
}

24、获取用户分钟数接口

//  设置获取用户分钟数请求对象(并传入直播账号的APPID和APPSECRET)
PLUserDurationsGetRequest request = new PLUserDurationsGetRequest("APPID", "APPSECRET");
//  用户接口对象
PLUserService plUserService = new PLUserServiceImpl();
//  获取用户分钟数接口方法获取请求结果对象
PLUserDurationsGetResult result = plUserService.getDurations(request);
//  成功响应
if(result.isRequestOk()) {
        ...     //业务流程
}

25、获取频道打赏设置接口

//  设置获取频道打赏设置请求对象(并传入直播账号的APPID和APPSECRET)
PLChannelDonateGetRequest request = new PLChannelDonateGetRequest("APPID", "APPSECRET");
// 频道号可设置可不设置(不传为获取全局设置,否则为当前生效设置)
request.setChannelId(频道号);
//  频道打赏接口对象
PLChannelDonateService plChannelDonateService = new PLChannelDonateServiceImpl();
//  获取频道打赏设置请求结果对象
PLChannelDonateGetResult result = plChannelDonateService.getDonateSetting(request);
//  成功响应
if(result.isRequestOk()) {
        ...     //业务流程
}

26、频道现金打赏设置接口

//  创建频道现金打赏设置请求对象(并传入直播账号的APPID和APPSECRET)
Double minCash = 0.01d; // 现金打赏最小金额
List<Double> cashes = Arrays.asList(new Double[]{111d, 112d, 113d, 114d, 115d, 116d}); // 现金打赏列表对象
PLDonateCashSetRequest request = new PLDonateCashSetRequest("APPID", "APPSECRET", 频道号, cashes, minCash);
//  频道打赏接口对象
PLChannelDonateService plChannelDonateService = new PLChannelDonateServiceImpl();
//  频道现金打赏设置请求结果对象
PLCommonResult result = plChannelDonateService.setDonateCash(request);
//  成功响应
if(result.isRequestOk()) {
        ...     //业务流程
}

27、频道道具打赏设置接口

//  获取频道打赏设置接口对象
PLChannelDonateService plChannelDonateService = new PLChannelDonateServiceImpl();
// 执行获取频道打赏接口
int channelId = xxxx;
PLChannelDonateGetRequest request = new PLChannelDonateGetRequest("APPID", "APPSECRET");
request.setChannelId(channelId);
PLChannelDonateGetResult result = plChannelDonateService.getDonateSetting(request);
// 响应成功
if (result.isRequestOk()) {
    // 从打赏接口中获取打赏道具列表对象
    List<DonateGoods> goods = result.getGoods();
    // 具体参数设置
    DonateGoods goods1 = goods.get(0);
    goods1.setGoodPrice(new BigDecimal(2000d));
    //  获取频道道具打赏请求对象(并传入直播账号的APPID和APPSECRET)
    PLDonateGoodsSetRequest request1 = new PLDonateGoodsSetRequest("APPID", "APPSECRET", channelId, goods);
    //  频道道具打赏请求结果对象
    PLCommonResult result1 = plChannelDonateService.setDonateGoods(request1);
    //  成功响应
    if(result1.isRequestOk()) {
         ...     //业务流程
    }
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...