如何进行课程的对接?

以下调用的接口都可使用欢拓 服务端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" />
Copyright Talkfun all right reserved,powered by Gitbook修订时间: 2020-11-17 11:40:34

results matching ""

    No results matching ""