网络状况
本章节介绍有关网络状况的功能。针对网络状况,网易云信提供了网络探测和网络状况回调这两个功能,linux端sdk暂时只支持网络状况回调。 网络状况回调是通话过程中,SDK定时会通知上层当前的网络状况。值得注意的是,这个网络状况是基于当前的实际通话情况的。比如,当前正进行的是音频通话,上报的网络情况是良好,那只是说明当前的网络情况可以很好地满足音频通话,并不能说明当前进行视频通话也会很流畅。
当前通话网络状况回调
API介绍
该回调会在通话过程中实时返回通话成员的网络状态。
API原型
typedef void (*nim_vchat_cb_func)(enum NIMVideoChatSessionType type, int64_t channel_id, int code, const char *json_extension, const void *user_data)
NIMVideoChatSessionType::kNIMVideoChatSessionTypeNetStatus
File:nim_vchat_def.h
参数说明
参数 | 类型 | 说明 |
---|---|---|
type | enum | 回调类型kNIMVideoChatSessionTypeNetStatus |
channel_id | int64_t | 频道id |
code | int | 错误码NIMVideoChatSessionNetStat |
json_extension | char* | Json扩展,返回kNIMVChatUid |
user_data | void* | 注册回调时的APP自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理 |
- NIMVideoChatSessionNetStat
枚举定义 | 值 | 说明 |
---|---|---|
kNIMVChatNetStatusVideoClose | -1 | 网络状态极差,视频强制关闭 |
kNIMVideoChatSessionNetStatVeryGood | 0 | 网络状态很好 |
kNIMVideoChatSessionNetStatGood | 1 | 网络状态较好 |
kNIMVideoChatSessionNetStatPoor | 2 | 网络状态较差 |
kNIMVideoChatSessionNetStatBad | 3 | 网络状态很差 |
kNIMVideoChatSessionNetStatVeryBad | 4 | 网络状态极差,考虑是否关闭视频 |
示例
void nim_vchat_cb(enum NIMVideoChatSessionType type, int64_t channel_id, int code, const char *json_extension, const void *user_data)
{
if (code == 200)
{
switch (type)
{
case kNIMVideoChatSessionTypeStartRes://创建通话结果
break;
case kNIMVideoChatSessionTypeInviteNotify://通话邀请
break;
case kNIMVideoChatSessionTypeCalleeAckRes://确认通话,接受拒绝结果
break;
case kNIMVideoChatSessionTypeCalleeAckNotify://确认通话,接受拒绝通知
break;
case kNIMVideoChatSessionTypeControlRes://NIMVChatControlType 结果
break;
case kNIMVideoChatSessionTypeControlNotify://NIMVChatControlType 通知
break;
case kNIMVideoChatSessionTypeConnect://通话中链接状态通知
break;
case kNIMVideoChatSessionTypePeopleStatus://通话中成员状态
break;
case kNIMVideoChatSessionTypeNetStatus://通话中网络状态
break;
case kNIMVideoChatSessionTypeHangupRes://通话挂断结果
break;
case kNIMVideoChatSessionTypeHangupNotify://通话被挂断通知
break;
case kNIMVideoChatSessionTypeSyncAckNotify://通话接听挂断同步通知
break;
case kNIMVideoChatSessionTypeInfoNotify: //实时状态
break;
case kNIMVideoChatSessionTypeVolumeNotify: //音量状态
break;
default:
break;
}
}
}
本篇文档内容是否对您有帮助?
有帮助
我要吐槽
此文档对你是否有帮助
×
有帮助
我要吐槽
×