Browse Source

拆分RTC 将逻辑层和RTC中间嵌套中间层

DGJ 1 year ago
parent
commit
4f1f9b0d68

+ 1 - 2
Assets/AgoraVideoAudioManager.cs

@@ -477,8 +477,7 @@ public class AgoraVideoAudioManager : SingletonMono<AgoraVideoAudioManager>
     }
     public void MuteRemoteAudioStream(string uid, bool isAudio)
     {
-        if (!dicPeeridAndUid.ContainsKey(peerid))
-            return;
+     
         int msg = RtcEngine.MuteRemoteAudioStream(StringToUint(uid) , !isAudio);
 
         switch (msg)

+ 2 - 1
Assets/AgoraVideoJo.cs

@@ -13,6 +13,7 @@ public class AgoraVideoJo : MonoBehaviour
     {
         yield return new WaitForSeconds(times);
        // AgoraVideoAudioManager.Instance.JoinChannel();
-        RTCManager.Instance.JoinChannel();
+        //RTCManager.Instance.JoinChannel();
+        VideoAudioManager.Instance.JoinChannel();
     }
 }

+ 13 - 6
Assets/MediaSoup/WebSocket/WSRtcHandler.cs

@@ -297,7 +297,8 @@ public class WSRtcHandler  {
                         }
                     }
                    // AgoraVideoAudioManager.Instance.RemAtPeeridUid(data["data"]["peerId"].ToString());
-                    RTCManager.Instance.RemAtPeeridUid(data["data"]["peerId"].ToString());
+                 //   RTCManager.Instance.RemAtPeeridUid(data["data"]["peerId"].ToString());
+                    VideoAudioManager.Instance.RemAtPeeridUid(data["data"]["peerId"].ToString());
                     break;
                 case "chatMessage":
                     sendText(data["method"].ToString(), data["data"]);
@@ -307,8 +308,11 @@ public class WSRtcHandler  {
                     Debug.Log(data["data"][0]+ "  "+ data["data"][1]);
                     //AgoraVideoAudioManager.Instance.AddPeeridUid(data["data"][0].ToString(), (uint)int.Parse(data["data"][1].ToString()));
                     //AgoraVideoAudioManager.Instance.uid = (uint)int.Parse(data["data"][1].ToString());
-                    RTCManager.Instance.AddPeeridUid(data["data"][0].ToString(), data["data"][1].ToString());
-                    RTCManager.Instance.SetUid(data["data"][1].ToString());
+                  //  RTCManager.Instance.AddPeeridUid(data["data"][0].ToString(), data["data"][1].ToString());
+                  //  RTCManager.Instance.SetUid(data["data"][1].ToString());
+
+                    VideoAudioManager.Instance.AddPeeridUid(data["data"][0].ToString(), (uint)int.Parse(data["data"][1].ToString()));
+                    VideoAudioManager.Instance.SetUid((uint)int.Parse(data["data"][1].ToString()));
                     break;
                 case "newConsumer":
                     newConsumers.Enqueue(data.ToJson());
@@ -320,7 +324,8 @@ public class WSRtcHandler  {
                     sendText(data["method"].ToString(), data["data"]);
                     SoundMgr._instance.PlayMusicByName("tishi", false);
                    // AgoraVideoAudioManager.Instance.AddPeeridUid(data["data"]["peerId"].ToString(), (uint)int.Parse(data["data"]["uid"].ToString()));
-                    RTCManager.Instance.AddPeeridUid(data["data"]["peerId"].ToString(), data["data"]["uid"].ToString());
+                    //RTCManager.Instance.AddPeeridUid(data["data"]["peerId"].ToString(), data["data"]["uid"].ToString());
+                    VideoAudioManager.Instance.AddPeeridUid(data["data"]["peerId"].ToString(), (uint)int.Parse(data["data"]["uid"].ToString()));
                     break;
                 case "consumerPaused":
                     p = SCRtcFactory.Instance.mSCRtcPeers.getPeer(data["data"]["peerId"].ToString());
@@ -473,10 +478,12 @@ public class WSRtcHandler  {
                     for (int i = 0; i < data["data"]["room"]["users"].Count; i++)
                     {
                        // AgoraVideoAudioManager.Instance.AddPeeridUid(data["data"]["room"]["users"][i]["peerId"].ToString(), (uint)int.Parse(data["data"]["room"]["users"][i]["uid"].ToString()));
-                        RTCManager.Instance.AddPeeridUid(data["data"]["room"]["users"][i]["peerId"].ToString(), data["data"]["room"]["users"][i]["uid"].ToString());
+                     //   RTCManager.Instance.AddPeeridUid(data["data"]["room"]["users"][i]["peerId"].ToString(), data["data"]["room"]["users"][i]["uid"].ToString());
+                        VideoAudioManager.Instance.AddPeeridUid(data["data"]["room"]["users"][i]["peerId"].ToString(), (uint)int.Parse(data["data"]["room"]["users"][i]["uid"].ToString()));
                     }
                    // AgoraVideoAudioManager.Instance.ShowOneView(RoomMain.Instance.agoraRawImage);
-                    RTCManager.Instance.ShowOneViewRawImage(RoomMain.Instance.agoraRawImage);
+                   // RTCManager.Instance.ShowOneViewRawImage(RoomMain.Instance.agoraRawImage);
+                    VideoAudioManager.Instance.ShowOneView(RoomMain.Instance.agoraRawImage);
                 }
 
             }

+ 9 - 106
Assets/Plugins/Android/AndroidManifest.xml

@@ -1,113 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.nibiru.ar"
-    android:installLocation="auto"
-    android:versionCode="1"
-    android:versionName="1.0" >
-
-    <application
-        android:isGame="true"
-        android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
-        >
-
-        <meta-data android:name="NibiruVRVersion" android:value="2" />
-
-        <activity
-            android:name="com.nibiru.lib.xr.unity.NibiruXRUnityActivity"
-            android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale"
-
-            android:launchMode="singleTask"
-            android:screenOrientation="landscape"
-            android:exported="true">
+<manifest
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.unity3d.player"
+    xmlns:tools="http://schemas.android.com/tools">
+    <application>
+        <activity android:name="com.unity3d.player.UnityPlayerActivity"
+                  android:theme="@style/UnityThemeSelector">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
-
-
                 <category android:name="android.intent.category.LAUNCHER" />
-                <category android:name="com.google.intent.category.CARDBOARD" />
-                <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
-                <category android:name="com.nibiru.intent.category.NVR" />
-
-
-
-
-
-
-                <category android:name="com.nibiru.intent.category.STUDIO" />
-
-
-
-
-
-
-
-
             </intent-filter>
-
-            <meta-data
-                android:name="unityplayer.UnityActivity"
-                android:value="true" />
-
-            <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />
+            <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
         </activity>
-
-        <!-- "VOICE", "6DOF", "GESTURE", "RECORD", "MARKER", "RECOGINIZE" !-->
-        <meta-data android:value="6DOF,RECORD" android:name="NIBIRU_PLUGIN_IDS"/>
-        <meta-data android:value="NxrViewerMain" android:name="NIBIRU_UNITY_VIEWER_NAME"/>
-        <!--0=vr,1=ar-->
-        <meta-data android:value="AR" android:name="HMD_TYPE"/>
-        <!-- SixDofMode: 0=TM2, 1=Qualcomm -->
-        <!-- <meta-data android:value="1" android:name="NIBIRU_SIX_DOF_MODE"/> !-->
-        <!-- SixDofType: 0=内置3DOF+位移, 1=Full 6DOF -->
-        <!-- <meta-data android:value="1" android:name="NIBIRU_SIX_DOF_TYPE"/> !-->
-        <!-- 当前APK为加密版本-->
-        <meta-data android:value="0" android:name="NIBIRU_ENCRYPTION_MODE"/>
-        <!-- APK新加密机制:填写工具声明的密钥 -->
-        <meta-data android:value="pNYNdVJTCCw." android:name="NIBIRU_SDK_KEY"/>
     </application>
-
-
-    <uses-feature android:glEsVersion="0x00030000" android:required="true" />
-    <uses-feature
-        android:name="android.hardware.sensor.accelerometer"
-        android:required="true" />
-    <uses-feature
-        android:name="android.hardware.sensor.gyroscope"
-        android:required="true" />
-
-
-    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
-    <uses-permission android:name="android.permission.BLUETOOTH"/>
-    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
-    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
-    <uses-permission android:name="android.permission.INTERNET" />
-    <uses-permission android:name="android.permission.GET_TASKS" />
-    <uses-permission android:name="android.permission.CAMERA"/>
-    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
-    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
-    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
-    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
-    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
-
-    <!-- VR feature tags. -->
-    <uses-feature
-        android:name="android.software.vr.mode"
-        android:required="false" />
-    <uses-feature
-        android:name="android.hardware.vr.high_performance"
-        android:required="false" />
-    <uses-feature
-        android:name="android.hardware.touchscreen"
-        android:required="false" />
-    <uses-feature
-        android:name="android.hardware.touchscreen.multitouch"
-        android:required="false" />
-    <uses-feature
-        android:name="android.hardware.touchscreen.multitouch.distinct"
-        android:required="false" />
-    <uses-feature
-        android:name="android.software.leanback"
-        android:required="false" />
-
-</manifest>
+</manifest>

+ 96 - 14
Assets/Remote/Scenes/Remote3.0.unity

@@ -492,6 +492,51 @@ MonoBehaviour:
   - {fileID: 177754137775656777, guid: 8424bf138cfb87e4ba067ca1cf86b920, type: 3}
   window: []
   loginType: 1
+--- !u!1 &526366025
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 526366027}
+  - component: {fileID: 526366026}
+  m_Layer: 0
+  m_Name: VideoAudioManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &526366026
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 526366025}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cf226876a5aaeb247aa664a8ca44d73a, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  mainViewPeerId: 
+--- !u!4 &526366027
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 526366025}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -0.033652306, y: -0.5782548, z: 1.7898057}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 10
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &570473685
 GameObject:
   m_ObjectHideFlags: 0
@@ -811,14 +856,13 @@ GameObject:
   m_Component:
   - component: {fileID: 855958479}
   - component: {fileID: 855958480}
-  - component: {fileID: 855958481}
   m_Layer: 0
   m_Name: Agora
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!4 &855958479
 Transform:
   m_ObjectHideFlags: 0
@@ -857,18 +901,6 @@ MonoBehaviour:
   isSwitchCamera: 0
   ca: {fileID: 284870648}
   img: {fileID: 948814504}
---- !u!114 &855958481
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 855958478}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 8d18263e64ad01049a2377a0e7ad2281, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
 --- !u!1 &918637851
 GameObject:
   m_ObjectHideFlags: 0
@@ -1643,6 +1675,56 @@ MonoBehaviour:
   - {fileID: 2539131660605934548, guid: 28f8d8851a7b5f74c8b484a99a4f6168, type: 3}
   - {fileID: 6233831381892610832, guid: fb253eb4691025f45a785ac819e69cd7, type: 3}
   window: []
+--- !u!1 &1752566378
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1752566379}
+  - component: {fileID: 1752566380}
+  m_Layer: 0
+  m_Name: RTCManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1752566379
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1752566378}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -0.033652306, y: -0.5782548, z: 1.7898057}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 11
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1752566380
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1752566378}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8d18263e64ad01049a2377a0e7ad2281, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  ca: {fileID: 284870648}
+  img: {fileID: 948814504}
+  uid: 0
+  channelName: 
+  _appID: 59a3e20fd9674f53a3422ff48b16db75
+  _token: 
 --- !u!1 &1877736616
 GameObject:
   m_ObjectHideFlags: 0

+ 10 - 5
Assets/Remote/ShowRoom/PeerBigView.cs

@@ -35,7 +35,8 @@ public class PeerBigView : MonoBehaviour,IDragHandler,IEndDragHandler
         WSHandler.Rtc.OnActiveSpeaker += ActiveSpeaker;
 
       //  AgoraVideoAudioManager.Instance.AddListShowView(cPeer.peerId, agoraRawImage, false);
-        RTCManager.Instance.ShowViewRawImage(cPeer.peerId, agoraRawImage);
+     //   RTCManager.Instance.ShowViewRawImage(cPeer.peerId, agoraRawImage);
+        VideoAudioManager.Instance.ShowViewRawImage(cPeer.peerId, agoraRawImage);
     }
 
     private void OnDestroy()
@@ -193,7 +194,8 @@ public class PeerBigView : MonoBehaviour,IDragHandler,IEndDragHandler
         //    // cPeer.setInfo("audio", cPeer.cIdA,true);
         //}
      //   AgoraVideoAudioManager.Instance.MuteRemoteVideoStream(cPeer.peerId, true);
-        RTCManager.Instance.MuteRemoteVideoStream(cPeer.peerId, true);
+     //   RTCManager.Instance.MuteRemoteVideoStream(cPeer.peerId, true);
+        VideoAudioManager.Instance.MuteRemoteVideoStream(cPeer.peerId, true);
         //agoraRawImage.gameObject.SetActive(true);
       //  RoomMain.Instance.agoraRawImage.gameObject.SetActive(true);
     }
@@ -206,7 +208,8 @@ public class PeerBigView : MonoBehaviour,IDragHandler,IEndDragHandler
         //    // cPeer.setInfo("audio", cPeer.cIdA,true);
         //}
        // AgoraVideoAudioManager.Instance.MuteRemoteVideoStream(cPeer.peerId, false);
-        RTCManager.Instance.MuteRemoteVideoStream(cPeer.peerId, false);
+     //   RTCManager.Instance.MuteRemoteVideoStream(cPeer.peerId, false);
+        VideoAudioManager.Instance.MuteRemoteVideoStream(cPeer.peerId, false);
       //  agoraRawImage.gameObject.SetActive(false);
       //  RoomMain.Instance.agoraRawImage.gameObject.SetActive(false);
     }
@@ -222,7 +225,8 @@ public class PeerBigView : MonoBehaviour,IDragHandler,IEndDragHandler
         //}
        // cPeer.isCloseAudio = false;
        // AgoraVideoAudioManager.Instance.MuteRemoteAudioStream(cPeer.peerId, true);
-        RTCManager.Instance.MuteRemoteAudioStream(cPeer.peerId, true);
+     //   RTCManager.Instance.MuteRemoteAudioStream(cPeer.peerId, true);
+        VideoAudioManager.Instance.MuteRemoteAudioStream(cPeer.peerId, true);
     }
     public void closeMic()
     {
@@ -234,7 +238,8 @@ public class PeerBigView : MonoBehaviour,IDragHandler,IEndDragHandler
         //}
        // cPeer.isCloseAudio = true;
      //   AgoraVideoAudioManager.Instance.MuteRemoteAudioStream(cPeer.peerId, false);
-        RTCManager.Instance.MuteRemoteAudioStream(cPeer.peerId, false);
+     //   RTCManager.Instance.MuteRemoteAudioStream(cPeer.peerId, false);
+        VideoAudioManager.Instance.MuteRemoteAudioStream(cPeer.peerId, false);
     }
 
     public void OnDrag(PointerEventData eventData)

+ 10 - 5
Assets/Remote/ShowRoom/PeerSamllView.cs

@@ -177,7 +177,8 @@ public class PeerSamllView : BaseView, IPointerEnterHandler, IPointerExitHandler
 
             alltime = 30f;
             istime = false;
-            AgoraVideoAudioManager.Instance.listCustomPeer.Add(cPeer);
+         //   AgoraVideoAudioManager.Instance.listCustomPeer.Add(cPeer);
+            VideoAudioManager.Instance.listCustomPeer.Add(cPeer);
         }
         else if (c is InviteUserConfig)
         {
@@ -324,7 +325,8 @@ public class PeerSamllView : BaseView, IPointerEnterHandler, IPointerExitHandler
 
         // cPeer.setInfo("audio", cPeer.cIdA,true);
       //  AgoraVideoAudioManager.Instance.MuteRemoteVideoStream(cPeer.peerId, true);
-        RTCManager.Instance.MuteRemoteVideoStream(cPeer.peerId, true);
+      //  RTCManager.Instance.MuteRemoteVideoStream(cPeer.peerId, true);
+        VideoAudioManager.Instance.MuteRemoteVideoStream(cPeer.peerId, true);
     //    RoomMain.Instance.agoraRawImage.gameObject.SetActive(true);
 
     }
@@ -340,7 +342,8 @@ public class PeerSamllView : BaseView, IPointerEnterHandler, IPointerExitHandler
 
         // cPeer.setInfo("audio", cPeer.cIdA,true);
       //  AgoraVideoAudioManager.Instance.MuteRemoteVideoStream(cPeer.peerId, false);
-        RTCManager.Instance.MuteRemoteVideoStream(cPeer.peerId, false);
+      //  RTCManager.Instance.MuteRemoteVideoStream(cPeer.peerId, false);
+        VideoAudioManager.Instance.MuteRemoteVideoStream(cPeer.peerId, false);
         RoomMain.Instance.agoraRawImage.gameObject.SetActive(false);
     }
 
@@ -358,7 +361,8 @@ public class PeerSamllView : BaseView, IPointerEnterHandler, IPointerExitHandler
        
         // cPeer.setInfo("audio", cPeer.cIdA,true);
        // AgoraVideoAudioManager.Instance.MuteRemoteAudioStream(cPeer.peerId, true);
-        RTCManager.Instance.MuteRemoteAudioStream(cPeer.peerId,true);
+      //  RTCManager.Instance.MuteRemoteAudioStream(cPeer.peerId,true);
+        VideoAudioManager.Instance.MuteRemoteAudioStream(cPeer.peerId, true);
     }
     public void closeMic()
     {
@@ -372,7 +376,8 @@ public class PeerSamllView : BaseView, IPointerEnterHandler, IPointerExitHandler
        
         //  cPeer.setInfo("audio", cPeer.cIdA, false);
       //  AgoraVideoAudioManager.Instance.MuteRemoteAudioStream(cPeer.peerId, false);
-        RTCManager.Instance.MuteRemoteAudioStream(cPeer.peerId, false);
+     //   RTCManager.Instance.MuteRemoteAudioStream(cPeer.peerId, false);
+        VideoAudioManager.Instance.MuteRemoteAudioStream(cPeer.peerId, false);
     }
 
     public void OnPointerEnter(PointerEventData eventData)

+ 11 - 5
Assets/Remote/ShowRoom/RoomMain.cs

@@ -138,8 +138,11 @@ public class RoomMain : RemoteSingleton<RoomMain>
 
         //AgoraVideoAudioManager.Instance.SetChinnelName(RoomMainInfo.roomNum);
         //AgoraVideoAudioManager.Instance.JoinChannel();
-        RTCManager.Instance.SetChannelName(RoomMainInfo.roomNum);
-        RTCManager.Instance.JoinChannel();
+        //RTCManager.Instance.SetChannelName(RoomMainInfo.roomNum);
+        //RTCManager.Instance.JoinChannel();
+
+        VideoAudioManager.Instance.SetChannelName(RoomMainInfo.roomNum);
+        VideoAudioManager.Instance.JoinChannel();
 
         isSendAudio = CustomInfo.isSendAudio;
         isSendVideo = CustomInfo.isSendVideo;
@@ -320,7 +323,8 @@ public class RoomMain : RemoteSingleton<RoomMain>
         API_GSXR_Slam.GSXR_Reset_Slam();
 
       //  AgoraVideoAudioManager.Instance.LeaveChannel();
-        RTCManager.Instance.LeaveChannel();
+     //   RTCManager.Instance.LeaveChannel();
+        VideoAudioManager.Instance.LeaveChannel();
         RemoteRtc.Instance.FiltrationCamera(true);
     }
 
@@ -379,7 +383,8 @@ public class RoomMain : RemoteSingleton<RoomMain>
             closeVideoEffect();
         }
       //  AgoraVideoAudioManager.Instance.EnableLocalVideo(isSend);
-        RTCManager.Instance.MuteLocalVideoStream(isSend);
+      //  RTCManager.Instance.MuteLocalVideoStream(isSend);
+        VideoAudioManager.Instance.MuteLocalVideoStream(isSend);
     }
 
     public void sendAudio(bool isSend)
@@ -415,7 +420,8 @@ public class RoomMain : RemoteSingleton<RoomMain>
 
         }
        // AgoraVideoAudioManager.Instance.EnableLoacalAudio(isSend);
-        RTCManager.Instance.MuteLocalAudioStream(isSend);
+       // RTCManager.Instance.MuteLocalAudioStream(isSend);
+        VideoAudioManager.Instance.MuteLocalAudioStream(isSend);
     }
 
     private void closeVideoEffect()

+ 30 - 39
Assets/Scripts/RTCManager.cs

@@ -17,11 +17,11 @@ public class RTCManager : SingletonMono<RTCManager>
     /// <summary>
     /// 自身UID
     /// </summary>
-    private uint uid;
+    public uint uid;
     /// <summary>
     /// 当前频道号
     /// </summary>
-    private string channelName;
+    public string channelName;
   
     [SerializeField]
     private string _appID = "";
@@ -31,12 +31,6 @@ 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();
@@ -87,15 +81,12 @@ public class RTCManager : SingletonMono<RTCManager>
     public void Init()
     {
         // OnInit();
-        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);
@@ -258,7 +249,7 @@ public class RTCManager : SingletonMono<RTCManager>
     {
         //OnShowViewRawImage(uid, rawImage);
 
-        MakeVideoView(dicPeeridAndUid[peerId], rawImage, this.channelName);
+        MakeVideoView(StringToUint(peerId), rawImage, this.channelName);
     }
     /// <summary>
     ///  显示用户画面
@@ -365,7 +356,7 @@ public class RTCManager : SingletonMono<RTCManager>
     /// </summary>
     /// <param name="uid"></param>
     /// <param name="state"> 视频状态 </param>
-    public void RemoteVideoStateChanged(string uid ,REMOTE_AUDIO_STATE state ,REMOTE_AUDIO_STATE_REASON reason)
+    public void RemoteVideoStateChanged(string uid ,REMOTE_VIDEO_STATE state , REMOTE_VIDEO_STATE_REASON reason)
     {
         OnRemoteVideoStateChanged(uid, (REMOTE_VIDEO_STATE_RTC)state, (REMOTE_VIDEO_STATE_REASON_RTC)reason);
     }
@@ -448,6 +439,25 @@ public class RTCManager : SingletonMono<RTCManager>
 
         return videoSurface;
     }
+
+    internal static void OnUserJoined_Agora(uint uid)
+    {
+        // _videoSample.Log.UpdateLog(string.Format("OnUserJoined uid: ${0} elapsed: ${1}", uid, elapsed));
+        // Debug.Log(string.Format("OnUserJoined uid: ${0} elapsed: ${1}", uid, elapsed))
+
+        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
 {
@@ -482,8 +492,8 @@ public class RTCManagerHandler : IRtcEngineEventHandler
 
     public override void OnLeaveChannel(RtcConnection connection, RtcStats stats)
     {
-       // _videoSample.Log.UpdateLog("OnLeaveChannel");
-        AgoraVideoAudioManager.DestroyVideoView(0);
+        // _videoSample.Log.UpdateLog("OnLeaveChannel");
+        //RTCManager.DestroyVideoView(0);
     }
 
     public override void OnClientRoleChanged(RtcConnection connection, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole)
@@ -494,8 +504,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));
-       // _videoSample.Log.UpdateLog(string.Format("OnUserJoined uid: ${0} elapsed: ${1}", uid, elapsed));
-        AgoraVideoAudioManager.OnUserJoined(uid);
+        // _videoSample.Log.UpdateLog(string.Format("OnUserJoined uid: ${0} elapsed: ${1}", uid, elapsed));
+        RTCManager.OnUserJoined_Agora(uid);
         //   AgoraVideoAudioManager.MakeVideoView(uid, _videoSample.GetChannelName());
     }
 
@@ -506,33 +516,14 @@ public class RTCManagerHandler : IRtcEngineEventHandler
         //  AgoraVideoAudioManager.DestroyVideoView(uid);
     }
 
-    public override void OnUserInfoUpdated(uint uid, Agora.Rtc.UserInfo info)
-    {
-     //   _videoSample.Log.UpdateLog(string.Format(" 用户 :${0}  加入房间", uid));
-
-        AgoraVideoAudioManager.OnUserInfoUpdated(uid, info);
-    }
-
-
-    public override void OnUplinkNetworkInfoUpdated(UplinkNetworkInfo info)
-    {
-       // _videoSample.Log.UpdateLog("OnUplinkNetworkInfoUpdated");
-    }
-
-    public override void OnDownlinkNetworkInfoUpdated(DownlinkNetworkInfo info)
-    {
-       // _videoSample.Log.UpdateLog("OnDownlinkNetworkInfoUpdated");
-    }
-
-
 
     public override void OnRemoteVideoStateChanged(RtcConnection connection, uint remoteUid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed)
     {
-        AgoraVideoAudioManager.OnRemoteVideoStateChanged(remoteUid, state, reason);
+        RTCManager.OnRemoteVideoStateChanged_Agora(remoteUid, state, reason);
     }
 
     public override void OnRemoteAudioStateChanged(RtcConnection connection, uint remoteUid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)
     {
-        AgoraVideoAudioManager.OnRemoteAudioStateChanged(remoteUid, state, reason);
+        RTCManager.OnRemoteAudioStateChanged_Agora(remoteUid, state, reason);
     }
 }

+ 14 - 3
Assets/Scripts/VideoAudioData.cs → Assets/Scripts/VideoAudioManager.cs

@@ -5,7 +5,7 @@ using System.Linq;
 using UnityEngine;
 using UnityEngine.UI;
 
-public class VideoAudioData : SingletonMono<VideoAudioData>
+public class VideoAudioManager : SingletonMono<VideoAudioManager>
 {
     public Dictionary<string, uint> dicPeeridAndUid;
     public List<CustomPeer> listCustomPeer;
@@ -16,9 +16,10 @@ public class VideoAudioData : SingletonMono<VideoAudioData>
         dicPeeridAndUid = new Dictionary<string, uint>();
         listCustomPeer = new List<CustomPeer>();
         mainViewPeerId = "";
-
+        RTCManager.Instance.Init();
         RTCManager.Instance.OnRemoteAudioStateChanged += RemoteAudioStateChanged;
         RTCManager.Instance.OnRemoteVideoStateChanged += RemoteVideoStateChanged;
+        
     }
 
     public void  InitData()
@@ -30,6 +31,16 @@ public class VideoAudioData : SingletonMono<VideoAudioData>
         mainViewPeerId = "";
     }
 
+    public void SetUid( uint uid)
+    {
+        RTCManager.Instance.SetUid(uid.ToString());
+    }
+
+    public void SetChannelName(string channelName)
+    {
+        RTCManager.Instance.SetChannelName(channelName);
+    }
+
     public void AddPeeridUid(string peerid, uint uid)
     {
         if (dicPeeridAndUid.ContainsKey(peerid))
@@ -68,7 +79,7 @@ public class VideoAudioData : SingletonMono<VideoAudioData>
         RoomMain.Instance.agoraRawImage.texture = null;
     }
 
-    public void AddListShowView(string peerId, RawImage rawImage)
+    public void ShowViewRawImage(string peerId, RawImage rawImage)
     {
         if (!dicPeeridAndUid.ContainsKey(peerId))
             return;

+ 1 - 1
Assets/Scripts/VideoAudioData.cs.meta → Assets/Scripts/VideoAudioManager.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: db4fa27bcac54ef45b57470f3de02003
+guid: cf226876a5aaeb247aa664a8ca44d73a
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 2 - 1
GHZMRSupportXR.sln

@@ -1,4 +1,5 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
+
+Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 15
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Paroxe.PDFRenderer", "Paroxe.PDFRenderer.csproj", "{C02797D4-769E-9680-6A14-DA8787814E01}"
 EndProject

+ 3 - 3
ProjectSettings/ProjectSettings.asset

@@ -184,7 +184,7 @@ PlayerSettings:
   iPhoneStrippingLevel: 0
   iPhoneScriptCallOptimization: 0
   ForceInternetPermission: 1
-  ForceSDCardPermission: 0
+  ForceSDCardPermission: 1
   CreateWallpaper: 0
   APKExpansionFiles: 0
   keepLoadedShadersAlive: 0
@@ -259,7 +259,7 @@ PlayerSettings:
   useCustomBaseGradleTemplate: 1
   useCustomGradlePropertiesTemplate: 1
   useCustomProguardFile: 0
-  AndroidTargetArchitectures: 1
+  AndroidTargetArchitectures: 2
   AndroidTargetDevices: 0
   AndroidSplashScreenScale: 0
   androidSplashScreen: {fileID: 0}
@@ -773,7 +773,7 @@ PlayerSettings:
   additionalCompilerArguments: {}
   platformArchitecture: {}
   scriptingBackend:
-    Android: 0
+    Android: 1
     Standalone: 0
   il2cppCompilerConfiguration: {}
   managedStrippingLevel: