ccVideo

立即使用

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。

概述

ccVideo模块封装了CC视频平台的直播SDK,使用此模块可实现在线课堂的直播功能。

使用CC视频基本流程说明: 1.在CC视频官网( https://www.bokecc.com/ )申请账号试用。

init

sdk初始化

init({params},function(ret,err))

params

account

  • 类型:字符串
  • 描述:登录账号进入到个人中心找到userid。

room

  • 类型:字符串
  • 描述:直播的房间号。

joinPwd

  • 类型:字符串
  • 描述:用户加入房间需要的密码。
          drect: {x:0,y:0,w:300,h:200},//文档的大小位置
          vrect: {x:0,y:200,w:100,h:100},//摄像头的大小位置
    

nickName

  • 类型:字符串
  • 描述:昵称。

switchFlag

  • 类型:布尔型
  • 描述:是否可以切换摄像头和文档的显示位置,true可以切换,false不可以。
  • 默认:false。

vrect

  • 类型:JSON 对象
  • 描述:(可选项)摄像头区域的位置及尺寸
  • 内部字段:
  • {
    • x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
    • y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
    • w: 320, //(可选项)数字类型;模块的宽度;默认:所属的 Window 或 Frame 的宽度
    • h: 300 //(可选项)数字类型;模块的高度;默认:w的3/4 }

drect

  • 类型:JSON 对象
  • 描述:(可选项)文档区域的位置及尺寸
  • 内部字段:
  • {
    • x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
    • y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
    • w: 320, //(可选项)数字类型;模块的宽度;默认:所属的 Window 或 Frame 的宽度
    • h: 300 //(可选项)数字类型;模块的高度;默认:w的3/4 }

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:


    {    
        cmd:"init",
        data:'登录成功'
    }

示例代码


    var ccVideo=api.require('ccVideo');
    ccVideo.init({
            room:"9D0ECA2E08D426699C33DC5901xxxxxx",
            account:"9B78915A0Dxxxxxx",
            nickName:"mynickname",
            joinPwd:"111111",
            switchFlag:true,
            drect:{x:0,y:10,w:api.winWidth,h:~~(api.winWidth*9/16)},
            vrect:{x:20,y:300,w:100,h:~~(100*3/4)},
    },function(ret,err){
        alert(JSON.stringify(ret));
        setTimeout(playGS,300)//延迟执行
    })

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

playGS

打开一个直播。注:这个方法一定要在init返回之后调用

playGS({},function(ret,err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:


    {    
        cmd:"",//onJoin加入成功;onChatMessage 聊天回调;onBanChat被禁言回调;onUnBanChat解除禁言回调;onBroadcastMsg 广播回到;onPrivateChat私聊回调;onPublicChatMessage公共聊天回调;onHistoryBroadcastMsg聊天历史记录回调;onLeave被剔除直播间回调;onRosterTotal聊天人数变化回调;onLiveStatus直播间状态回调;
        data:'',//返回相关数据
        sendMsgStatus:1,//1 信息发送成功;0 信息发送失败
        type:'public',//仅当type==1&&sendMsgStatus==1有聊天信息回调
        nickName:'',//仅当type==1&&sendMsgStatus==1有值,发言者的昵称
        chatId,'',//仅当type==1&&sendMsgStatus==1有值,发言id
        senderId,//仅当type==1&&sendMsgStatus==1有值,发言者id
        role,//仅当type==1&&sendMsgStatus==1有值,发言者角色
        msg,//仅当cmd=onRosterTotal有值,为观看人数
    }

示例代码


    var ccVideo=api.require('ccVideo');
    ccVideo.playGS({},function(ret,err){
        alert(JSON.stringify(ret));
    })

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭直播或者点播

close()

示例代码


    var ccVideo=api.require('ccVideo');
    ccVideo.close()

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

changeVisible

设置视频区域和文档区域的显示与隐藏

params

type

  • 类型:字符串
  • 描述:要隐藏的区域,doc为文档区域,video为视频区域。

isShow

  • 类型:数值类型
  • 描述:显示或者隐藏,0为隐藏,1为显示。

changeVisible({params},function(ret,err))

示例代码


    var ccVideo=api.require('ccVideo');
    ccVideo.changeVisible({
        type: 'doc',
        isShow: 1
    })

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

sendMsg

发送聊天消息。

sendMsg({params},function(ret,err))

params

content

  • 类型:字符串
  • 描述:聊天消息纯文本。

示例代码


    var ccVideo=api.require('ccVideo');
    ccVideo.sendMsg({
        content:'test',

    },function(ret,err){
        alert(JSON.stringify(ret));
    })

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

fullscreen

文档区域全屏显示

fullscreen()

示例代码


    var ccVideo=api.require('ccVideo');
    ccVideo.fullscreen()

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancelFullscreen

文档区域取消全屏

cancelFullscreen()

示例代码


    var ccVideo=api.require('ccVideo');
    ccVideo.cancelFullscreen()

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setRect

设置文档或者摄像头区域的位置及大小

setRect({params})

params

type

  • 类型:字符串
  • 描述:要设置的区域,video为摄像头区域,doc文档区域。

rect

  • 类型:JSON 对象
  • 描述:(可选项)文档或摄像头区域的位置及尺寸
  • 内部字段:
  • {
    • x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
    • y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
    • w: 320, //(可选项)数字类型;模块的宽度;默认:所属的 Window 或 Frame 的宽度
    • h: 300 //(可选项)数字类型;模块的高度;默认:w的3/4 }

示例代码


    var ccVideo=api.require('ccVideo');
    ccVideo.setRect({ 
        type: 'video',//video摄像头区域,doc文档区域
        rect: {x:0,y:0,w:300,h:200}
    });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

switchDV

文档和摄像头区域互换位置大小,仅当playGS()中switchFlag==true时有效

switchDV()

示例代码


    var ccVideo=api.require('ccVideo');
    ccVideo.switchDV()

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本