ccVideo

立即使用

init playGS close changeVisible sendMsg fullscreen cancelFullscreen setRect switchDV

论坛示例

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

概述

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

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

init

sdk初始化

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

params

account

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

room

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

joinPwd

  • 类型:字符串
  • 描述:用户加入房间需要的密码。

    1. drect: {x:0,y:0,w:300,h:200},//文档的大小位置
    2. 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对象
  • 内部字段:
  1. {
  2. cmd:"init",
  3. data:'登录成功'
  4. }

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

playGS

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

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

callback(ret, err)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭直播或者点播

close()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

changeVisible

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

params

type

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

isShow

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

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

sendMsg

发送聊天消息。

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

params

content

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

示例代码

  1. var ccVideo=api.require('ccVideo');
  2. ccVideo.sendMsg({
  3. content:'test',
  4. },function(ret,err){
  5. alert(JSON.stringify(ret));
  6. })

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

fullscreen

文档区域全屏显示

fullscreen()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancelFullscreen

文档区域取消全屏

cancelFullscreen()

示例代码

  1. var ccVideo=api.require('ccVideo');
  2. 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 }

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

switchDV

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

switchDV()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本