|
@@ -17,11 +17,11 @@ public class RTCManager : SingletonMono<RTCManager>
|
|
|
|
|
|
|
|
|
|
|
|
- public uint uid;
|
|
|
+ private uint uid;
|
|
|
|
|
|
|
|
|
|
|
|
- public string channelName;
|
|
|
+ private string channelName;
|
|
|
|
|
|
[SerializeField]
|
|
|
private string _appID = "";
|
|
@@ -31,6 +31,12 @@ public class RTCManager : SingletonMono<RTCManager>
|
|
|
|
|
|
internal IRtcEngine RtcEngine = null;
|
|
|
|
|
|
+ private Dictionary<string, uint> dicPeeridAndUid;
|
|
|
+ public List<CustomPeer> listCustomPeer;
|
|
|
+ private string mainViewPeerId;
|
|
|
+
|
|
|
+ private bool isSwitchCamera;
|
|
|
+
|
|
|
public delegate void OnInitDelegate();
|
|
|
public delegate void OnJoinChannelDelegate();
|
|
|
public delegate void OnLeaveChannelDelegate();
|
|
@@ -81,12 +87,15 @@ public class RTCManager : SingletonMono<RTCManager>
|
|
|
public void Init()
|
|
|
{
|
|
|
|
|
|
+ isSwitchCamera = false;
|
|
|
+ dicPeeridAndUid = new Dictionary<string, uint>();
|
|
|
+ listCustomPeer = new List<CustomPeer>();
|
|
|
InitEngine();
|
|
|
}
|
|
|
|
|
|
private void InitEngine()
|
|
|
{
|
|
|
- _appID = "59a3e20fd9674f53a3422ff48b16db75";
|
|
|
+
|
|
|
RtcEngine = Agora.Rtc.RtcEngine.CreateAgoraRtcEngine();
|
|
|
|
|
|
RTCManagerHandler handler = new RTCManagerHandler(this);
|
|
@@ -249,7 +258,7 @@ public class RTCManager : SingletonMono<RTCManager>
|
|
|
{
|
|
|
|
|
|
|
|
|
- MakeVideoView(StringToUint(peerId), rawImage, this.channelName);
|
|
|
+ MakeVideoView(dicPeeridAndUid[peerId], rawImage, this.channelName);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -356,7 +365,7 @@ public class RTCManager : SingletonMono<RTCManager>
|
|
|
|
|
|
|
|
|
|
|
|
- public void RemoteVideoStateChanged(string uid ,REMOTE_VIDEO_STATE state , REMOTE_VIDEO_STATE_REASON reason)
|
|
|
+ public void RemoteVideoStateChanged(string uid ,REMOTE_AUDIO_STATE state ,REMOTE_AUDIO_STATE_REASON reason)
|
|
|
{
|
|
|
OnRemoteVideoStateChanged(uid, (REMOTE_VIDEO_STATE_RTC)state, (REMOTE_VIDEO_STATE_REASON_RTC)reason);
|
|
|
}
|
|
@@ -439,25 +448,6 @@ public class RTCManager : SingletonMono<RTCManager>
|
|
|
|
|
|
return videoSurface;
|
|
|
}
|
|
|
-
|
|
|
- internal static void OnUserJoined_Agora(uint uid)
|
|
|
- {
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- RTCManager.Instance.UserJoined(uid.ToString());
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- internal static void OnRemoteVideoStateChanged_Agora(uint uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON
|
|
|
- reason)
|
|
|
- {
|
|
|
- RTCManager.Instance.RemoteVideoStateChanged(uid.ToString(), state, reason);
|
|
|
- }
|
|
|
- internal static void OnRemoteAudioStateChanged_Agora(uint uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason)
|
|
|
- {
|
|
|
- RTCManager.Instance.RemoteAudioStateChanged(uid.ToString(), state, reason);
|
|
|
- }
|
|
|
}
|
|
|
public class RTCManagerHandler : IRtcEngineEventHandler
|
|
|
{
|
|
@@ -492,8 +482,8 @@ public class RTCManagerHandler : IRtcEngineEventHandler
|
|
|
|
|
|
public override void OnLeaveChannel(RtcConnection connection, RtcStats stats)
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+ AgoraVideoAudioManager.DestroyVideoView(0);
|
|
|
}
|
|
|
|
|
|
public override void OnClientRoleChanged(RtcConnection connection, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole)
|
|
@@ -504,8 +494,8 @@ public class RTCManagerHandler : IRtcEngineEventHandler
|
|
|
public override void OnUserJoined(RtcConnection connection, uint uid, int elapsed)
|
|
|
{
|
|
|
Debug.Log(string.Format("OnUserJoined uid: ${0} elapsed: ${1}", uid, elapsed));
|
|
|
-
|
|
|
- RTCManager.OnUserJoined_Agora(uid);
|
|
|
+
|
|
|
+ AgoraVideoAudioManager.OnUserJoined(uid);
|
|
|
|
|
|
}
|
|
|
|
|
@@ -516,14 +506,33 @@ public class RTCManagerHandler : IRtcEngineEventHandler
|
|
|
|
|
|
}
|
|
|
|
|
|
+ public override void OnUserInfoUpdated(uint uid, Agora.Rtc.UserInfo info)
|
|
|
+ {
|
|
|
+
|
|
|
+
|
|
|
+ AgoraVideoAudioManager.OnUserInfoUpdated(uid, info);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public override void OnUplinkNetworkInfoUpdated(UplinkNetworkInfo info)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public override void OnDownlinkNetworkInfoUpdated(DownlinkNetworkInfo info)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
public override void OnRemoteVideoStateChanged(RtcConnection connection, uint remoteUid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed)
|
|
|
{
|
|
|
- RTCManager.OnRemoteVideoStateChanged_Agora(remoteUid, state, reason);
|
|
|
+ AgoraVideoAudioManager.OnRemoteVideoStateChanged(remoteUid, state, reason);
|
|
|
}
|
|
|
|
|
|
public override void OnRemoteAudioStateChanged(RtcConnection connection, uint remoteUid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
|
|
|
{
|
|
|
- RTCManager.OnRemoteAudioStateChanged_Agora(remoteUid, state, reason);
|
|
|
+ AgoraVideoAudioManager.OnRemoteAudioStateChanged(remoteUid, state, reason);
|
|
|
}
|
|
|
}
|