网络状况
本章节介绍有关网络状况的功能。针对网络状况,网易云信提供了网络探测和网络状况回调这两个功能,Cocos SDK暂时只支持网络状况回调。 网络状况回调是通话过程中,SDK定时会通知上层当前的网络状况。值得注意的是,这个网络状况是基于当前的实际通话情况的。比如,当前正进行的是音频通话,上报的网络情况是良好,那只是说明当前的网络情况可以很好地满足音频通话,并不能说明当前进行视频通话也会很流畅。
当前通话网络状况回调
API介绍
该回调会在通话过程中实时返回通话成员的网络状态。
API原型
typedef std::function<void(enum NIMVideoChatSessionType type, int64_t channel_id, int code, const std::string json_extension)> SessionStatusCallback;
NIMVideoChatSessionType::kNIMVideoChatSessionTypeNetStatus
File:nim_cpp_vchat.h
参数说明
参数 | 类型 | 说明 |
---|---|---|
type | enum | 回调类型kNIMVideoChatSessionTypeNetStatus |
channel_id | int64_t | 频道id |
code | int | 错误码NIMVideoChatSessionNetStat |
json_extension | string | Json扩展,返回kNIMVChatUid |
- NIMVideoChatSessionNetStat
枚举定义 | 值 | 说明 |
---|---|---|
kNIMVChatNetStatusVideoClose | -1 | 网络状态极差,视频强制关闭 |
kNIMVideoChatSessionNetStatVeryGood | 0 | 网络状态很好 |
kNIMVideoChatSessionNetStatGood | 1 | 网络状态较好 |
kNIMVideoChatSessionNetStatPoor | 2 | 网络状态较差 |
kNIMVideoChatSessionNetStatBad | 3 | 网络状态很差 |
kNIMVideoChatSessionNetStatVeryBad | 4 | 网络状态极差,考虑是否关闭视频 |
示例
void VChatSessionCb(NIMVideoChatSessionType type, std::uint64_t channel_id, int code, const std::string json_extension)
{
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 kNIMVideoChatSessionTypeMp4Notify: /**< 通知MP4录制状态,包括开始录制和结束录制 */
break;
case kNIMVideoChatSessionTypeInfoNotify: /**< 通知实时音视频数据状态 */
break;
case kNIMVideoChatSessionTypeVolumeNotify: /**< 通知实时音频发送和混音的音量状态 */
break;
case kNIMVideoChatSessionTypeAuRecordNotify: /**< 通知音频录制状态,包括开始录制和结束录制 */
break;
}
}
本篇文档内容是否对您有帮助?
有帮助
我要吐槽
此文档对你是否有帮助
×
有帮助
我要吐槽
×