WGShare.Mobile.Flutter/wgshare/lib/utils/agora/AgoraUtil.dart

110 lines
4.6 KiB
Dart

import 'package:agora_rtc_engine/agora_rtc_engine.dart';
/// 声网SDK相关工具类
class AgoraUtil{
/// 获取网络连接状态
static String getConnectionStateChangedType(ConnectionStateType type){
var returnTypeStr = "";
switch(type){
case ConnectionStateType.connectionStateDisconnected:
returnTypeStr = "网络连接断开";
break;
case ConnectionStateType.connectionStateConnecting:
returnTypeStr = "网络连接中";
break;
case ConnectionStateType.connectionStateConnected:
returnTypeStr = "网络已连接";
break;
case ConnectionStateType.connectionStateReconnecting:
returnTypeStr = "网络重新连接中";
break;
case ConnectionStateType.connectionStateFailed:
returnTypeStr = "网络连接失败";
break;
}
return returnTypeStr;
}
/// 获取网络连接状态发生变化的原因
static String getConnectionChangedReasonType(ConnectionChangedReasonType type){
var returnTypeStr = "";
switch(type){
case ConnectionChangedReasonType.connectionChangedConnecting:
returnTypeStr = "建立网络连接中";
break;
case ConnectionChangedReasonType.connectionChangedJoinSuccess:
returnTypeStr = "成功加入频道";
break;
case ConnectionChangedReasonType.connectionChangedInterrupted:
returnTypeStr = "网络连接中断";
break;
case ConnectionChangedReasonType.connectionChangedBannedByServer:
returnTypeStr = "网络连接被服务器禁止";
break;
case ConnectionChangedReasonType.connectionChangedJoinFailed:
returnTypeStr = "加入频道失败";
break;
case ConnectionChangedReasonType.connectionChangedLeaveChannel:
returnTypeStr = "离开频道";
break;
case ConnectionChangedReasonType.connectionChangedInvalidAppId:
returnTypeStr = "App ID 无效";
break;
case ConnectionChangedReasonType.connectionChangedInvalidChannelName:
returnTypeStr = "频道名无效";
break;
case ConnectionChangedReasonType.connectionChangedInvalidToken:
returnTypeStr = "Token 无效";
break;
case ConnectionChangedReasonType.connectionChangedTokenExpired:
returnTypeStr = "当前使用的 Token 已过期";
break;
case ConnectionChangedReasonType.connectionChangedRejectedByServer:
returnTypeStr = "此用户被服务器禁止";
break;
case ConnectionChangedReasonType.connectionChangedSettingProxyServer:
returnTypeStr = "设置了代理服务器";
break;
case ConnectionChangedReasonType.connectionChangedRenewToken:
returnTypeStr = "更新 Token 引起网络连接状态改变";
break;
case ConnectionChangedReasonType.connectionChangedClientIpAddressChanged:
returnTypeStr = "客户端 IP 地址变更";
break;
case ConnectionChangedReasonType.connectionChangedKeepAliveTimeout:
returnTypeStr = "SDK 和服务器连接保活超时";
break;
case ConnectionChangedReasonType.connectionChangedRejoinSuccess:
returnTypeStr = "重新加入频道成功";
break;
case ConnectionChangedReasonType.connectionChangedLost:
returnTypeStr = "SDK 和服务器失去连接";
break;
case ConnectionChangedReasonType.connectionChangedEchoTest:
returnTypeStr = "连接状态变化由回声测试引起";
break;
case ConnectionChangedReasonType.connectionChangedClientIpAddressChangedByUser:
returnTypeStr = "本地 IP 地址被用户更改";
break;
case ConnectionChangedReasonType.connectionChangedSameUidLogin:
returnTypeStr = "使用相同的 UID 从不同的设备加入同一频道";
break;
case ConnectionChangedReasonType.connectionChangedTooManyBroadcasters:
returnTypeStr = "频道内主播人数已达上限";
break;
case ConnectionChangedReasonType.connectionChangedLicenseValidationFailure:
returnTypeStr = "连接已更改许可证验证失败";
break;
case ConnectionChangedReasonType.connectionChangedCertificationVeryfyFailure:
returnTypeStr = "连接已更改认证版本失败";
break;
case ConnectionChangedReasonType.connectionChangedStreamChannelNotAvailable:
returnTypeStr = "连接已更改流通道不可用";
break;
case ConnectionChangedReasonType.connectionChangedInconsistentAppid:
returnTypeStr = "连接已更改不一致Appid";
break;
}
return returnTypeStr;
}
}