#include <JCMediaChannel.h>

Public 成员函数

virtual const char * getChannelId ()=0
 
virtual const char * getChannelUri ()=0
 
virtual int getChannelNumber ()=0
 
virtual const char * getSessionId ()=0
 
virtual JCMediaChannelState getState ()=0
 
virtual JCMediaChannelMaxResolution getMaxResolution ()=0
 
virtual bool getUploadLocalAudio ()=0
 
virtual bool getUploadLocalVideo ()=0
 
virtual bool getAudioOutput ()=0
 
virtual const char * getTitle ()=0
 
virtual const char * getScreenRenderId ()=0
 
virtual const char * getScreenUserId ()=0
 
virtual JCMediaChannelRecordState getRecordState ()=0
 
virtual JCMediaChannelCdnState getCdnState ()=0
 
virtual JCMediaChannelParticipantgetSelfParticipant ()=0
 
virtual const char * getPassword ()=0
 
virtual const char * getDeliveryUri ()=0
 
virtual const char * getCustomProperty ()=0
 
virtual JCMediaChannelCustomRole getCustomRole ()=0
 
virtual JCMediaChannelCustomState getCustomState ()=0
 
virtual int inviteSipUser (const char *userId, JCMediaChannelSipParam *sipParam)=0
 
virtual int query (const char *channelId)=0
 
virtual bool join (const char *channelId, JCMediaChannelJoinParam *joinParam)=0
 
virtual bool leave ()=0
 
virtual bool stop ()=0
 
virtual bool enableUploadAudioStream (bool enable)=0
 
virtual bool enableUploadVideoStream (bool enable)=0
 
virtual bool setVideoCapture (const char *path)=0
 
virtual bool enableAudioOutput (bool enable)=0
 
virtual bool requestVideo (JCMediaChannelParticipant *participant, JCMediaChannelPictureSize pictureSize)=0
 
virtual bool enableScreenOrWindowShare (bool enable, JCMediaChannelScreenShareParam *screenShareParam)=0
 
virtual bool requestScreenVideo (const char *screenUri, JCMediaChannelPictureSize pictureSize)=0
 
virtual bool enableCdn (bool enable, int keyInterval)=0
 
virtual bool enableRecord (bool enable, JCMediaChannelRecordParam *recordParam)=0
 
virtual JCMediaChannelParticipantgetParticipant (const char *userId)=0
 
virtual std::list< JCMediaChannelParticipant * > * getParticipants ()=0
 
virtual bool sendMessage (const char *type, const char *content, const char *toUserId)=0
 
virtual const char * getStatistics ()=0
 
virtual bool sendCommand (const char *name, const char *param)=0
 
virtual bool sendCommandToDelivery (const char *command)=0
 
virtual bool setCustomProperty (const char *property)=0
 
virtual void setCustomRole (JCMediaChannelCustomRole customRole, JCMediaChannelParticipant *participant)=0
 
virtual void setCustomState (JCMediaChannelCustomState customState, JCMediaChannelParticipant *participant)=0
 
virtual bool kick (JCMediaChannelParticipant *participant)=0
 
virtual void enableSelfVideoRatio (bool enable, float ratio)=0
 
virtual JCMediaDeviceVideoCanvasstartScreenShareVideo (void *view, JCMediaDeviceRenderMode mode, JCMediaChannelPictureSize pictureSize)=0
 
virtual void stopScreenShareVideo ()=0
 
virtual bool subscribeParticipantAudio (JCMediaChannelParticipant *participant, bool subscribe)=0
 

Public 属性

bool volumeChangeNotify
 

详细描述

多方通话模块,类似音视频频道的概念,可以通过频道号加入此频道,从而进行音视频通话

成员函数说明

◆ enableAudioOutput()

virtual bool JCMediaChannel::enableAudioOutput ( bool  enable)
pure virtual

开启/关闭音频输出

可实现本地静音功能(听不到频道内其他成员的声音),建议每次 join 前设置

参数
enable是否开启音频输出
  • true: 开启
  • false: 关闭
返回
调用是否正常
  • true:正常执行调用流程,存在以下两种场景:
    • 若在调用此方法时,用户的频道状态不是已加入状态,则不会收到回调通知
    • 若在调用此方法时,用户的频道状态是已加入状态,则会收到 onMediaChannelPropertyChange 通知
  • false:调用失败,不会收到回调通知

◆ enableCdn()

virtual bool JCMediaChannel::enableCdn ( bool  enable,
int  keyInterval 
)
pure virtual

开启/关闭Cdn推流

参数
enable开启/关闭Cdn推流
  • true: 开启 Cdn 推流
  • false: 关闭 Cdn 推流
keyInterval推流关键帧间隔(毫秒),当 enable 为 true 时有效,有效值需要>=1000
返回
调用是否正常

◆ enableRecord()

virtual bool JCMediaChannel::enableRecord ( bool  enable,
JCMediaChannelRecordParam recordParam 
)
pure virtual

开启/关闭视频录制

参数
enable开启/关闭视频录制
  • true: 开启视频录制
  • false: 关闭视频录制
recordParamJCMediaChannelRecordParam 录制参数,当 enable 为 true 时,可以更改由 join 时传入的录制参数,不需更改则填 null
返回
调用是否正常

◆ enableScreenOrWindowShare()

virtual bool JCMediaChannel::enableScreenOrWindowShare ( bool  enable,
JCMediaChannelScreenShareParam screenShareParam 
)
pure virtual

开启关闭桌面屏幕共享,内部根据当前状态决定是否开启

参数
enable是否开启屏幕共享
  • true: 开启
  • false: 关闭
screenShareParam屏幕分享参数,当 enable 为 true 时有效,传 null 表示使用媒体引擎的默认值,详情见 JCMediaChannelScreenShareParam
返回
调用是否正常
  • true:正常执行调用流程
  • false:调用异常

◆ enableSelfVideoRatio()

virtual void JCMediaChannel::enableSelfVideoRatio ( bool  enable,
float  ratio 
)
pure virtual

设置自身视频宽高比

注解
必须在频道中设置才能生效
参数
enable是否开启自身视频宽高比
  • true: 开启
  • false: 关闭
ratio视频宽高比

◆ enableUploadAudioStream()

virtual bool JCMediaChannel::enableUploadAudioStream ( bool  enable)
pure virtual

开启/关闭发送本地音频流

调用该方法可开启或关闭发送本地音频流。开启后,频道成员将听见本端声音;关闭后,频道成员将听不见本端声音
初始化 JCMediaChannel 时,默认设置关闭本地音频流。如果想要在加入频道的时候就让频道内其他成员听见本端声音,可以在调用 join 加入频道前设置
该方法在频道内和频道外均可调用,且在离开频道后该设置仍然有效。也就是说这一次设置了开启发送本地音频流,那么在下一次加入频道时默认会开启发送本地音频流
频道中也可调用此方法开启或关闭发送本地音频流,服务器会更新状态并同步给其他频道成员
频道中调用此方法不影响接收远端音频

参数
enable开启/关闭发送本地音频流
  • true: 开启发送本地音频流
  • false: 关闭发送本地音频流
返回
调用是否正常
  • true: 正常执行调用流程,存在以下两种场景:
    • 若在调用此方法时,用户不在频道中,则不会收到回调通知
    • 若在调用此方法时,用户在频道中,则会收到 onMediaChannelPropertyChange 通知
  • false: 调用失败,不会收到回调通知

◆ enableUploadVideoStream()

virtual bool JCMediaChannel::enableUploadVideoStream ( bool  enable)
pure virtual

开启/关闭发送本地视频流

调用该方法可开启或关闭发送本地视频流。开启后,频道成员将可以看见本端视频画面;关闭后,频道成员将看不见本端视频画面
初始化 JCMediaChannel 时,默认设置发送本地视频流。如果想要在加入频道的时候就让频道内其他成员看见本端视频画面,可以在调用 join 加入频道前设置
该方法在频道内和频道外均可调用,且在离开频道后该设置仍然有效。也就是说这一次设置了关闭发送本地视频流,那么在下一次加入频道时默认会关闭发送本地音频流
频道中也可调用此方法开启或关闭发送本地视频流,服务器会更新状态并同步给其他频道成员
频道中调用此方法不影响接收远端视频

参数
enable是否发送本地视频流
  • true: 发送
  • false: 不发送
返回
调用是否正常
  • true:正常执行调用流程,存在以下两种场景:
    • 若在调用此方法时,用户不在频道中,则不会收到回调通知
    • 若在调用此方法时,用户在频道中,则会收到 onMediaChannelPropertyChange 通知
  • false:调用失败,不会收到回调通知

◆ getAudioOutput()

virtual bool JCMediaChannel::getAudioOutput ( )
pure virtual

获取音频是否输出

本地没有音频输出的话,就听不到频道内其他成员的声音了

返回
是否有音频输出
  • true: 输出中
  • false: 未输出

◆ getCdnState()

virtual JCMediaChannelCdnState JCMediaChannel::getCdnState ( )
pure virtual

获得cdn推流状态

返回
cdn推流状态:

◆ getChannelId()

virtual const char * JCMediaChannel::getChannelId ( )
pure virtual

获得频道标识

返回
频道标识

◆ getChannelNumber()

virtual int JCMediaChannel::getChannelNumber ( )
pure virtual

获得频道号

返回
频道号

◆ getChannelUri()

virtual const char * JCMediaChannel::getChannelUri ( )
pure virtual

获得频道 Uri

不管加入频道时使用的是不是 uri 模式,都能获取到频道 Uri

返回
频道 Uri

◆ getCustomProperty()

virtual const char * JCMediaChannel::getCustomProperty ( )
pure virtual

获取频道自定义属性

返回
自定义属性

◆ getCustomRole()

virtual JCMediaChannelCustomRole JCMediaChannel::getCustomRole ( )
pure virtual

获得自定义角色

返回
自定义角色

◆ getCustomState()

virtual JCMediaChannelCustomState JCMediaChannel::getCustomState ( )
pure virtual

获得自定义状态

返回
自定义状态

◆ getDeliveryUri()

virtual const char * JCMediaChannel::getDeliveryUri ( )
pure virtual

获取推流录制器成员

返回
推流录制器成员

◆ getMaxResolution()

virtual JCMediaChannelMaxResolution JCMediaChannel::getMaxResolution ( )
pure virtual

返回频道最大分辨率

频道中的最大分辩由第一个加入频道的用户决定, JCMediaChannelJoinParam 参数中设置的分辩率并一定是频道的最大分辨率,只有加入成功后才能准确知道

注解
该接口需要在加入成功后调用才有意义
返回
频道最大分辨率:

◆ getParticipant()

virtual JCMediaChannelParticipant * JCMediaChannel::getParticipant ( const char *  userId)
pure virtual

根据用户标识获取频道成员

参数
userId用户唯一标识
返回
频道成员对象

◆ getParticipants()

virtual std::list< JCMediaChannelParticipant * > * JCMediaChannel::getParticipants ( )
pure virtual

获得频道中的所有成员

返回
频道成员列表

◆ getPassword()

virtual const char * JCMediaChannel::getPassword ( )
pure virtual

获得频道密码

返回
频道密码

◆ getRecordState()

virtual JCMediaChannelRecordState JCMediaChannel::getRecordState ( )
pure virtual

获取视频录制状态

返回
视频录制状态,参见:

◆ getScreenRenderId()

virtual const char * JCMediaChannel::getScreenRenderId ( )
pure virtual

获取屏幕共享渲染标识

返回
屏幕共享渲染标识,频道中没有屏幕共享则返回空字符串

◆ getScreenUserId()

virtual const char * JCMediaChannel::getScreenUserId ( )
pure virtual

获取开启屏幕共享的用户标识

返回
开启屏幕共享的用户标识,没有屏幕共享则为空字符串

◆ getSelfParticipant()

virtual JCMediaChannelParticipant * JCMediaChannel::getSelfParticipant ( )
pure virtual

获得自身 JCMediaChannelParticipant 对象

返回
自身 JCMediaChannelParticipant 对象

◆ getSessionId()

virtual const char * JCMediaChannel::getSessionId ( )
pure virtual

获取服务器唯一频道ID

返回
频道ID

◆ getState()

virtual JCMediaChannelState JCMediaChannel::getState ( )
pure virtual

返回自己的频道状态

返回
自己的频道状态:

◆ getStatistics()

virtual const char * JCMediaChannel::getStatistics ( )
pure virtual

获取统计信息

以Json字符串形式返回,其中包含 "Config"、"Network"、"Transport"、"Participants" 4个键值,示例如下:

{

"Config": "Video Config:\r\n SRTP: off \r\n Codec: H264-SVC \r\n Payload: 125 \r\n Bitrate: 1000 \r\n Framerate: 24 \r\n Resolution: 640x352 \r\n FEC: on|124|123 \r\n FIR: off \r\n Key Interval: 0 \r\n Repeat: 0 \r\n NACK: off \r\n RTX: off \r\n TMMBR: off \r\n RPSI: off \r\n Small NALU: on \r\n ARS: off \r\n BR Min: 10 \r\n BR Max: 2000 \r\n FR Min: 1 \r\n FR Max: 30 \r\n Res. Ctrl: off \r\n Res. Mode: 0 \r\n Fr Ctrl: off \r\n CPU Load Ctrl: off \r\n Target: 80 \r\n Bw Efficient: off \r\n Error Conceal: off \r\n Enhance color: off \r\n Boost bright: off \r\n Boost contrast: off \r\n RTP Ext: CVO \r\n Render Name: N\/A \r\n",

"Network": "Server(-176574541330799):\r\n4466(1): BWE(4592|1231) IN(A:0;)\r\n\r\n",

"Transport": "Local: 100.306884891:44795\r\nRemote: 120:14243\r\n\r\nLastPaths: 120,120\r\n\r\nPath: 120 [tcp]\r\n Step1:Delay\/Loss(S\/R): 55\/0\/0\r\n Cost: 65** (best: 40)\r\nPath: 151 [udp]\r\n Step1:Delay\/Loss(S\/R): 43\/0\/0\r\n Cost: 132\r\nPath: 105 [tcp]\r\n Step1:Delay\/Loss(S\/R): 55\/0\/0\r\n Cost: 142\r\nPath: 100 [tcp]\r\n Step1:Delay\/Loss(S\/R): 43\/0\/0\r\n Cost: 144\r\n",

"Participants": [{

"4466": "Video Sending Stats:\r\n Packets: 0 \r\n Capture Fr: 24 \r\n FPS\/IDR: 0\/0 \r\n Resolution: 640x352[0|0|0] \r\n Bitrate\/Setrate:0\/1000 \r\n QP: 0 \r\n FecPrecent: 20\r\nBe Subscribed Stats:\r\n Audio: true\r\n Video: [0|0|0|0]\r\n Screen: [0|0|0|0]\r\n"

}]

}

返回
统计信息

◆ getTitle()

virtual const char * JCMediaChannel::getTitle ( )
pure virtual

返回频道标题

返回
频道标题

◆ getUploadLocalAudio()

virtual bool JCMediaChannel::getUploadLocalAudio ( )
pure virtual

获取本地音频数据是否在上传

返回
是否在上传本地音频数据
  • true: 上传中
  • false: 未上传

◆ getUploadLocalVideo()

virtual bool JCMediaChannel::getUploadLocalVideo ( )
pure virtual

获取本地视频数据是否在上传

返回
是否在上传本地视频数据
  • true: 上传中
  • false: 未上传

◆ inviteSipUser()

virtual int JCMediaChannel::inviteSipUser ( const char *  userId,
JCMediaChannelSipParam sipParam 
)
pure virtual

邀请Sip用户

一般用于对接落地网关等

参数
userId一般为号码
sipParamSipParam 参数对象
返回
调用是否正常

◆ join()

virtual bool JCMediaChannel::join ( const char *  channelId,
JCMediaChannelJoinParam joinParam 
)
pure virtual

加入频道

用户登录成功后可以通过此方法加入通话频道,在同一个频道内的用户可以互相通话
如果已在频道中,用户须退出当前频道,才能进入下一个频道

参数
channelId媒体频道标识
joinParamJCMediaChannelJoinParam 对象,没有则填 null
返回
调用是否正常
  • true: 正常执行调用流程,加入结果通过 onJoin 方法通知
  • false: 调用失败,存在以下两种场景:
    • 若在调用此方法时,用户的频道状态不是空闲状态,则不会收到回调通知
    • 若在调用此方法时,用户的频道状态是空闲状态,则会收到 onJoin 方法通知

◆ kick()

virtual bool JCMediaChannel::kick ( JCMediaChannelParticipant participant)
pure virtual

将成员踢出频道

参数
participantJCMediaChannelParticipant 对象,频道中的成员
返回
调用是否正常
  • true:正常执行调用流程
  • false:调用失败

◆ leave()

virtual bool JCMediaChannel::leave ( )
pure virtual

离开频道

当前只支持同时加入一个频道,结果通过 onLeave 通知

返回
调用是否正常
  • true: 正常执行调用流程
  • false: 调用失败

◆ query()

virtual int JCMediaChannel::query ( const char *  channelId)
pure virtual

查询频道相关信息

在登录后调用此接口可以查询频道相关信息,例如频道是否存在,频道人数等,结果通过 onQuery 通知

参数
channelId频道标识
返回
返回操作id,与 onQuery 回调中的 operationId 对应

◆ requestScreenVideo()

virtual bool JCMediaChannel::requestScreenVideo ( const char *  screenUri,
JCMediaChannelPictureSize  pictureSize 
)
pure virtual

请求屏幕共享的视频流

当 pictureSize 为 JCMediaChannelPictureSizeNone 表示关闭请求

参数
screenUri屏幕分享uri
pictureSize视频请求尺寸类型,参见:
返回
调用是否正常
  • true:正常执行调用流程
  • false:调用失败

◆ requestVideo()

virtual bool JCMediaChannel::requestVideo ( JCMediaChannelParticipant participant,
JCMediaChannelPictureSize  pictureSize 
)
pure virtual

请求频道中其他用户的视频流

当 pictureSize 为 JCMediaChannelPictureSizeNone 时表示关闭请求
建议使用 startVideo 方法代替

参数
participant频道中其他成员对象
pictureSize视频请求的尺寸类型:
返回
调用是否正常
  • true:正常执行调用流程
  • false:调用异常

◆ sendCommand()

virtual bool JCMediaChannel::sendCommand ( const char *  name,
const char *  param 
)
pure virtual

发送指令

注解
  • 指令名: StartForward 指令作用:请求服务器开始转发音视频
    参数格式:{"MtcConfUserUriKey": "用户Uri", "MtcConfMediaOptionKey": "类型"}
    用户Uri: 通过调用底层Mtc接口获取 MtcUser.Mtc_UserFormUri(EN_MTC_USER_ID_USERNAME, userId)
    类型: 服务器转发分三种 音频、视频、音视频,具体可参考底层mtc_conf.h下的MtcConfMedia的枚举值。
    注意1:指令发送成功后会收到 onParticipantUpdate 回调
    举例: {"MtcConfUserUriKey": "[username:justin@sample.cloud.justalk.com]", "MtcConfMediaOptionKey": 3}

  • 指令名: StopForward 指令作用:请求服务器停止转发音视频
    参数格式:{"MtcConfUserUriKey": "用户URL", "MtcConfMediaOptionKey": "类型"}
    用户Uri: 通过调用底层Mtc接口获取 MtcUser.Mtc_UserFormUri(EN_MTC_USER_ID_USERNAME, userId)
    类型: 服务器转发分三种 音频、视频、音视频,具体可参考底层mtc_conf.h下的MtcConfMedia的枚举值。
    注意1:指令发送成功后会收到 onParticipantUpdate 回调
    举例: {"MtcConfUserUriKey": "[username:justin@sample.cloud.justalk.com]", "MtcConfMediaOptionKey": 3}

  • 指令名: ChangeTitle 指令作用:请求修改会议主题
    参数格式: {"MtcConfTitleKey":"修改的内容"}
    修改的内容: 比如原来主题设置的是"123",现在改为"321"。
    注意1:指令发送成功后会收到 onMediaChannelPropertyChange 回调
    注意2:可通过 JCManager.shared.mediaChannel.title 获取主题
    举例:{"MtcConfTitleKey": "321"}

  • 指令名: SetPartpProp 指令作用:批量修改成员状态,角色,昵称。
    参数格式: {"MtcConfStateKey":1,"MtcConfDisplayNameKey":"1314","MtcConfPartpLstKey":["[username:10086@sample.cloud.justalk.com]"],"MtcConfRoleKey":7}
    要修改的成员状态: 具体可参考底层 mtc_conf.h 下的 MtcConfState 的枚举值
    要修改的成员角色: 具体可参考底层 mtc_conf.h 下的 MtcConfRole 的枚举值
    要修改的成员昵称: 比如"123"
    用户Uri:通过调用底层Mtc接口获取 MtcUser.Mtc_UserFormUri(EN_MTC_USER_ID_USERNAME, userId);
    注意1:指令发送成功后会收到 onParticipantUpdate 回调
    注意2:MtcConfStateKey、MtcConfDisplayNameKey、MtcConfRoleKey这三个字段,可根据用户想修改哪个值,就在json字符串里面加入哪个。
    注意3:MtcConfPartpLstKey 可包含多个用户uri进行批量修改
    举例:{"MtcConfStateKey":4,"MtcConfDisplayNameKey":"123","MtcConfPartpLstKey":{"MtcConfUserUriKey":"[username:10086@sample.cloud.justalk.com]","MtcConfStateKey":4},"MtcConfRoleKey":4}

  • 指令名:ReplayApplyMode 指令作用:设置推流布局模式
    指令参数格式:{"MtcConfCompositeModeKey": 参数值}
    参数值:
    1 平铺模式,所有视频均分平铺
    2 讲台模式,共享为大图,其他视频为小图
    3 演讲模式,共享为大图,共享者视频为小图,其他不显示
    4 自定义模式,由ReplayApplyLayout指令设置所有视频布局
    5 智能模式。
    举例:输入指令参数{"MtcConfCompositeModeKey": 2}就是讲台模式<br>
  • 指令名:ReplayApplyLayout 指令作用:为多用户设置自定义推流布局
    指令参数格式:{[{"MtcConfUserUriKey": "用户uri", "MtcConfPictureSizeKey": 视频尺寸,"MtcConfRectangleKey": 图像矩形的具体方位和长宽}],...}
    用户uri:通过调用底层Mtc接口获取MtcUser.Mtc_UserFormUri((uint)EN_MTC_USER_ID_TYPE.EN_MTC_USER_ID_USERNAME,userId)
    视频尺寸:一共5个枚举值,具体枚举值请参考底层mtc_conf.h下的MtcConfPs枚举
    图像矩形的具体方位和长宽:这是一个Json格式的Array对象表示这个图像的位置和大小,第一个值是图像左上角的x坐标(0~1)
    第二个值是图像左上角的y坐标(0~1)。第三个值是图像的宽(0~1)。第四个值是图像的高(0~1)。比如[0.5,0.5,0.5,0.5]表示图像在右下角长宽是原始屏幕的一半
    举例:
    [{"MtcConfUserUriKey":"[username:zhang@xxxx.cloud.justalk.com]","MtcConfPictureSizeKey":512,"MtcConfRectangleKey":[0.5,0.5,0.5,0.5]}]
    表示成员zhang小尺寸的视频在屏幕右下角位置,长宽是原始屏幕的一半
参数
name指令名
param指令参数
返回
调用是否正常
  • true:正常执行调用流程
  • false:调用失败

◆ sendCommandToDelivery()

virtual bool JCMediaChannel::sendCommandToDelivery ( const char *  command)
pure virtual

发送命令给推流或录制器

发送命令给推流时,只有在频道中并且推流状态为 JCMediaChannelCdnStateReady 才生效
发送命令给录制器时,只有在频道中并且录制状态为 JCMediaChannelRecordStateReady 才生效

参数
command命令字符串
返回
调用是否正常
  • true:正常执行调用流程
  • false:调用失败

◆ sendMessage()

virtual bool JCMediaChannel::sendMessage ( const char *  type,
const char *  content,
const char *  toUserId 
)
pure virtual

发送消息

此接口调用成功后,消息接收方会收到 onMessageReceive 回调,通过此回调可以获取消息的文本类型和文本内容

参数
type消息类型
content消息内容,不能为空,并且当 toUserId 不为 null 时,content 不能大于 4k
toUserId接收者id,null则发给频道所有人员
返回
调用是否正常
  • true:正常执行调用流程
  • false:调用失败

◆ setCustomProperty()

virtual bool JCMediaChannel::setCustomProperty ( const char *  property)
pure virtual

设置频道自定义属性

参数
property自定义属性
返回
调用是否正常
  • true:正常执行调用流程
  • false:调用失败

◆ setCustomRole()

virtual void JCMediaChannel::setCustomRole ( JCMediaChannelCustomRole  customRole,
JCMediaChannelParticipant participant 
)
pure virtual

设置自定义角色

参数
customRole自定义角色
participantJCMediaChannelParticipant 对象,传 null 表示自己

◆ setCustomState()

virtual void JCMediaChannel::setCustomState ( JCMediaChannelCustomState  customState,
JCMediaChannelParticipant participant 
)
pure virtual

设置自定义状态

参数
customState自定义状态
participantJCMediaChannelParticipant 对象,传 null 表示自己

◆ setVideoCapture()

virtual bool JCMediaChannel::setVideoCapture ( const char *  path)
pure virtual

设置本地视频文件替代摄像头(目前支持视频文件格式有限制,仅支持mp4,avi格式,并且只支持视频编解码H264,和音频格式PCMA)

参数
path视频文件路径
返回
调用是否正常
  • true:正常执行调用流程
  • false:调用异常

◆ startScreenShareVideo()

virtual JCMediaDeviceVideoCanvas * JCMediaChannel::startScreenShareVideo ( void *  view,
JCMediaDeviceRenderMode  mode,
JCMediaChannelPictureSize  pictureSize 
)
pure virtual

启动频道成员的屏幕分享视频渲染

频道成员开启屏幕分享时,调用此方法可获得屏幕分享渲染对象 JCMediaDeviceVideoCanvas

参数
renderType渲染模式:
pictureSize视频请求的尺寸类型:
返回
渲染对象

◆ stop()

virtual bool JCMediaChannel::stop ( )
pure virtual

关闭频道

接口调用成功后,此频道内的成员都将被强制退出,自己会收到 onStop 通知,其他成员会收到 onLeave 通知

返回
调用是否正常
  • true: 正常执行调用流程,存在以下两种场景:
    • 若在调用此方法时,用户的频道状态是空闲状态,不会收到回调通知
    • 若在调用此方法时,用户的频道状态不是空闲状态,则会收到 onStop 通知
  • false: 调用失败

◆ stopScreenShareVideo()

virtual void JCMediaChannel::stopScreenShareVideo ( )
pure virtual

停止屏幕分享视频渲染

◆ subscribeParticipantAudio()

virtual bool JCMediaChannel::subscribeParticipantAudio ( JCMediaChannelParticipant participant,
bool  subscribe 
)
pure virtual

订阅或取消订阅指定用户的音频

注解
该接口需要在自己加入会议成功后才能调用
参数
participantJCMediaChannelParticipant 对象,频道中的成员
subscribe是否订阅
  • true:订阅
  • false:取消订阅
返回
调用是否正常
  • true:正常执行调用流程
  • false:调用失败

类成员变量说明

◆ volumeChangeNotify

bool JCMediaChannel::volumeChangeNotify

是否通知成员音量变化,默认不通知

  • true: 通知
  • false: 不通知

该类的文档由以下文件生成:
最后更新时间: 2023/3/13 14:46:40