如何进行课程的对接?
以下调用的接口都可使用欢拓 服务端API SDK 进行调用
SDK下载地址
主播端直播流程
1.创建课程
SDK接口 course.add
客户调用接口创建课程,获取课程的IDcourse_id
,保存一份到客户的数据库,方便后面使用
调用示例
PHP
$MTCloud = new MTCloud();
//参数:课程名称,主播帐号,课程计划开始时间,课程计划结束时间,主播昵称,课程简介
$res = $MTCloud->courseAdd('课程1','1380013800','2016-07-07 11:30','2016-07-07 15:00', 'wesin','课程测试');
var_dump($res);
$course_id = $res['data']['course_id'];
2.主播启动直播器
SDK接口 course.launch
创建课程后,调用获取直播器启动协议接口course.launch
,获得直播器下载地址,登录地址、协议,通过地址、协议可以启动直播器
调用示例
PHP
$MTCloud = new MTCloud();
//参数:课程ID
$res = $MTCloud->courseLaunch(10621);
var_dump($res);
$downloadUrl = $res['data']['download']; //直播器下载地址
$launchUrl = $res['data']['url']; //启动页地址
$launchProtocol = $res['data']['protocol']; //启动协议
HTML
可通过获取到的直播器下载地址、直播器启动协议,放入a标签进行直播器下载和唤起并自动登录直播器
<a href="$launchProtocol">点击启动直播器</a>
<a href="$downloadUrl">点击下载直播器</a>
观看端用户观看直播流程
SDK接口 course.access
通过调用 Web API 接口,传入课程ID、用户唯一ID、用户昵称等参数,即可获取直播间地址,进入直播间进行观看。
流程如下:
* 1、用户访问客户网站并完成登录,获取到用户的唯一ID
* 2、获取课程数据,拿到需要访问的课程ID(`course.add`接口返回的课程ID )
* 3、发送请求调用客户服务器接口进行鉴权(如检查是否登录,是否有权限观看该课程等)
* 4、如果有权限观看,则调用欢拓 Web API 的 `course.access` 接口,传入课程ID、用户UID、用户昵称等参数,获取直播间地址
如果没有权限观看,提示用户没有权限
* 5、调用Web API获取到直播间地址后,可以将该地址iframe到页面上或者直接访问该地址
注意:相同用户ID参数调用course.access接口获取到的直播页地址,如果多端同时访问,前面访问的用户会被挤下线,应每个用户都传唯一的ID单独调用接口进行获取
流程图:
调用代码示例:
PHP
$MTCloud = new MTCloud
$course_id = 10621; //欢拓返回的课程ID
$uid = 2489584; //填入用户的真实唯一性ID,int、string皆可,方便做数据查询
$nickname = '用户2'; //填入用户的昵称,以在用户列表、聊天记录等需要的地方进行显示
$role = MTCloud::ROLE_USER; //用户角色
$expire = 3600;
$options = array(
'avatar'=>'http://www.talk-fun.com/3.jpg' // 用户头像地址
);
$result = $MTCloud->courseAccess($course_id,$uid,$nickname,$role,$expire,$options);
返回
{
"code": 0,
"data": {
//access_token 用于定制页面输出页面给JS调用
"access_token": "2QzMhZmNjVmNiFjMzYWO4UmZzMmMxkzNkZzN0QGMjhDf8xXfdtlOiIHd0FmIsQjM2UDO4AzN0EjOiUWbpR3ZlJnIsIiN0UDM3UjI6ICZphnIsQDNyETM6ICZpBnIscjM2ATM6ICZp9VZzJXdvNmIsIyZuBnL05WZkVHdz9CXn1Wavw1czN2LcNXbj9FduVGZ1R3cvw1Yw9CXzVGdhxGctVGdvwVbvNmLuVnZtsGbhRnLpF2avw1LcpDc0RHaiojIyFGdhZXYiwCM6IiclRmbldmIsQjMykDO4AzN0EjOiUmcpBHelJCLyYDOxUTN6ICZp12bvJnIsICOycjM1xVM3ETO1x1bN9WTiojIl1WYut2Yp5mIsIiclNXdiojIlx2byJCLiAzMiojIklWdiwCN0ITMxojIkl2XyVmb0JXYwJye",
//直接进入直播间的地址
"liveUrl": "http://open.talk-fun.com/room.php?access_token=2QzMhZmNjVmNiFjMzYWO4UmZzMmMxkzNkZzN0QGMjhDf8xXfdtlOiIHd0FmIsQjM2UDO4AzN0EjOiUWbpR3ZlJnIsIiN0UDM3UjI6ICZphnIsQDNyETM6ICZpBnIscjM2ATM6ICZp9VZzJXdvNmIsIyZuBnL05WZkVHdz9CXn1Wavw1czN2LcNXbj9FduVGZ1R3cvw1Yw9CXzVGdhxGctVGdvwVbvNmLuVnZtsGbhRnLpF2avw1LcpDc0RHaiojIyFGdhZXYiwCM6IiclRmbldmIsQjMykDO4AzN0EjOiUmcpBHelJCLyYDOxUTN6ICZp12bvJnIsICOycjM1xVM3ETO1x1bN9WTiojIl1WYut2Yp5mIsIiclNXdiojIlx2byJCLiAzMiojIklWdiwCN0ITMxojIkl2XyVmb0JXYwJye"
}
}
iframe示例代码
请在页面中插入如下代码,并且把
${liveUrl}
替换为直播间地址<iframe id="talkfun_frame" src="${liveUrl}" border="0" style="position:absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; margin: 0; padding: 0;"></iframe>
- 注意事项:
移动端请在head标签部分添加如下代码:
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />