Browse Source

修改视频播放为本地路径

DGJ 1 year ago
parent
commit
1e36183ece

+ 12 - 4
Assets/Game/Blue/Controller/LangChaoRommMinIo.cs

@@ -62,6 +62,7 @@ public class LangChaoRommMinIo : MonoSingleton<LangChaoRommMinIo>
     // File uploader task.
     private async Task Run()
     {
+        /*
         StatObjectArgs statObjectArgs = new StatObjectArgs()
                                           .WithBucket(Nowfd.bucket)
                                           .WithObject(Nowfd.objectName);
@@ -76,9 +77,8 @@ public class LangChaoRommMinIo : MonoSingleton<LangChaoRommMinIo>
         RoomFileDataBack rfdb = new RoomFileDataBack();
         rfdb.rfd = rfd;
         rfdb.Nowfd = Nowfd;
-        backQueue.Enqueue(rfdb);
-        /*
-            StatObjectArgs statObjectArgs = new StatObjectArgs()
+        backQueue.Enqueue(rfdb);*/
+        StatObjectArgs statObjectArgs = new StatObjectArgs()
                                               .WithBucket(Nowfd.bucket)
                                               .WithObject(Nowfd.objectName);
             await minio.StatObjectAsync(statObjectArgs);
@@ -93,17 +93,25 @@ public class LangChaoRommMinIo : MonoSingleton<LangChaoRommMinIo>
                                                                                     .WithBucket(Nowfd.bucket)
                                                                                     .WithObject(Nowfd.objectName)
                                                                                     .WithExpiry(60 * 60 * 24);
+                                                                                    
+                                                                                    
                                                   string url = await minio.PresignedGetObjectAsync(args);
                                                   RoomFileData rfd = new RoomFileData();
                                                   rfd.url = url;
                                                   rfd.bytes = StreamToBytes(stream);
+                                                
+                                                 
                                                   RoomFileDataBack rfdb = new RoomFileDataBack();
                                                   rfdb.rfd = rfd;
                                                   rfdb.Nowfd = Nowfd;
                                                   backQueue.Enqueue(rfdb);
+                                                  
+                                                  rfd.url = Application.persistentDataPath + "/" + Path.GetFileName(url);
+                                                
 
                                               });
-            await minio.GetObjectAsync(getObjectArgs);*/
+    
+        await minio.GetObjectAsync(getObjectArgs);
     }
     void initMinIo(Action<bool> callBack)
     {

+ 6 - 0
Assets/Game/ShowLogin/LangChaoLogin.cs

@@ -14,6 +14,8 @@ namespace GHZLangChao
         private SCInputField mPassword_Input;
         private Button mLogin_Btn;
         private GameObject mLoginError_go;
+        private Button emptyAcc;
+        private Button emptypas;
 
         private string mAccountStr;
         private string mPasswordStr;
@@ -24,11 +26,15 @@ namespace GHZLangChao
             mPassword_Input = transform.Find("Password/SCInputField").GetComponent<SCInputField>();
             mLogin_Btn = transform.Find("LoginBtn").GetComponent<Button>();
             mLoginError_go = transform.Find("LoginError").gameObject;
+            emptyAcc = transform.Find("Account/EmptyAccount").GetComponent<Button>();
+            emptypas = transform.Find("Password/EmptyAccount").GetComponent<Button>();
 
             mAccount_Input.onEndEdit.AddListener(OnAccountEndEdit);
             mPassword_Input.onEndEdit.AddListener(OnPasswordEndEdit);
             mLogin_Btn.onClick.AddListener(OnClickLogin);
 
+            emptyAcc.onClick.AddListener(() => { mAccount_Input.text = string.Empty; });
+            emptypas.onClick.AddListener(() => { mPassword_Input.text = string.Empty; });
             mAccountStr = "13910723157";
             mPasswordStr = "1";
 #if UNITY_EDITOR

+ 86 - 10
Assets/LangChaoRTC/Remote/ShowRoom/RoomInvite/Prefab/PDFItem.prefab

@@ -38,7 +38,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: 58, y: -343}
+  m_AnchoredPosition: {x: 58, y: -376}
   m_SizeDelta: {x: 100, y: 100}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &6710479829612237895
@@ -7353,6 +7353,8 @@ GameObject:
   - component: {fileID: 1148788838996319888}
   - component: {fileID: 1148788838996319889}
   - component: {fileID: 1148788838996319902}
+  - component: {fileID: 6133021827987599232}
+  - component: {fileID: 1493470205496477539}
   m_Layer: 0
   m_Name: PDFViewer
   m_TagString: Untagged
@@ -7372,6 +7374,7 @@ RectTransform:
   m_LocalScale: {x: 0.001, y: 0.001, z: 0.001}
   m_ConstrainProportionsScale: 0
   m_Children:
+  - {fileID: 6307140772451599491}
   - {fileID: 4959612931653212424}
   m_Father: {fileID: 6238695853400506578}
   m_RootOrder: 0
@@ -7456,6 +7459,66 @@ MonoBehaviour:
   deleteBtn: {fileID: 6014704940139355250}
   hideBtn: {fileID: 4635302297915468536}
   ChooseKuang: {fileID: 3029865621767350209}
+--- !u!114 &6133021827987599232
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1148788838996319895}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 761d3c9fbe9f13f47818f9c59cd6aa03, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  activation: 1
+  flattenAxis: 4
+  activeHandle: 6
+  m_HandlerAssets: {fileID: 0}
+  activeScaleMinRestrict: 1
+  scaleMinimum: 0.2
+  activeScaleMaxRestrict: 0
+  scaleMaximum: 2
+  BoundBoxCollider: {fileID: 0}
+  showRotationHandleForX: 1
+  showRotationHandleForY: 1
+  showRotationHandleForZ: 0
+  activeAxis: 4
+  RotateStartAudio: 4
+  RotateStopAudio: 3
+  ScaleStartAudio: 4
+  ScaleStopAudio: 3
+  RotateStarted:
+    m_PersistentCalls:
+      m_Calls: []
+  RotateStopped:
+    m_PersistentCalls:
+      m_Calls: []
+  ScaleStarted:
+    m_PersistentCalls:
+      m_Calls: []
+  ScaleStopped:
+    m_PersistentCalls:
+      m_Calls: []
+  Rotating:
+    m_PersistentCalls:
+      m_Calls: []
+  Scaling:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!65 &1493470205496477539
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1148788838996319895}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1100, y: 600, z: 1}
+  m_Center: {x: 0, y: 0, z: 20.73}
 --- !u!1 &1148788839013908338
 GameObject:
   m_ObjectHideFlags: 0
@@ -12963,7 +13026,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: -55, y: -343}
+  m_AnchoredPosition: {x: -55, y: -376}
   m_SizeDelta: {x: 100, y: 100}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &7263103196185933939
@@ -13160,7 +13223,7 @@ RectTransform:
   m_Children:
   - {fileID: 1148788837849147069}
   m_Father: {fileID: 1148788838996319888}
-  m_RootOrder: 0
+  m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 1, y: 1}
@@ -13210,7 +13273,7 @@ MonoBehaviour:
   m_FallbackScreenDPI: 96
   m_DefaultSpriteDPI: 96
   m_DynamicPixelsPerUnit: 1
-  m_PresetInfoIsWorld: 0
+  m_PresetInfoIsWorld: 1
 --- !u!114 &3483983298518999977
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -13237,6 +13300,7 @@ GameObject:
   serializedVersion: 6
   m_Component:
   - component: {fileID: 6238695853400506578}
+  - component: {fileID: 2062420325135922163}
   m_Layer: 0
   m_Name: PDFItem
   m_TagString: Untagged
@@ -13257,10 +13321,22 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children:
   - {fileID: 1148788838996319888}
-  - {fileID: 6307140772451599491}
   m_Father: {fileID: 0}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &2062420325135922163
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6238695853400506590}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9be79631a08c37048a6abe48b3acd7ce, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  obj: {fileID: 6307140772451599491}
 --- !u!1 &6307140772451599492
 GameObject:
   m_ObjectHideFlags: 0
@@ -13291,12 +13367,12 @@ Transform:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 6307140772451599492}
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0.009}
-  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 9}
+  m_LocalScale: {x: 1000, y: 1000, z: 1000}
   m_ConstrainProportionsScale: 0
   m_Children: []
-  m_Father: {fileID: 6238695853400506578}
-  m_RootOrder: 1
+  m_Father: {fileID: 1148788838996319888}
+  m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!33 &6307140772451599517
 MeshFilter:
@@ -13422,7 +13498,7 @@ MonoBehaviour:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 6307140772451599492}
-  m_Enabled: 1
+  m_Enabled: 0
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: 761d3c9fbe9f13f47818f9c59cd6aa03, type: 3}
   m_Name: 

+ 30 - 6
Assets/LangChaoRTC/Remote/ShowRoom/RoomInvite/Scripts/Mp4Item.cs

@@ -1,5 +1,6 @@
 using System.Collections;
 using System.Collections.Generic;
+using System.IO;
 using UnityEngine;
 using UnityEngine.UI;
 using UnityEngine.Video;
@@ -19,21 +20,44 @@ public class Mp4Item : BaseFilePrefabItem
         {
             string url = fileConfig.Url;
 
+            if (!fileConfig.Url.Contains("http"))
+            {
+                url = "https://" + fileConfig.Url;
+            }
+
             LangChaoRommMinIo.Instance.getFile(MQTTManager.Instance.roomId, fileConfig.Bucket, fileConfig.ObjectName, (RoomFileData rfd) => {
 
                 Debug.Log("rfd==>" + rfd.url);
                 Debug.Log("rfd==>" + rfd.bytes.Length);
-                url = rfd.url;
 
+                // url = rfd.url;
+                // aVProVideoPlayer.SetUrl(url);
+                StartCoroutine(SaveMp4(Application.persistentDataPath + "/" + fileConfig.FileName, rfd.bytes));
             });
 
-            if (!fileConfig.Url.Contains("http"))
-            {
-                url = "https://" + fileConfig.Url;
-            }
+          
          //   videoPlayer.url = url;
-            aVProVideoPlayer.SetUrl(url);
+           
+        }
+    }
+
+    private IEnumerator SaveMp4(string path , byte[] bytes)
+    {
+        Debug.Log(" Path  ==> "+ path);
+        FileInfo file = new FileInfo(path);
+        if (file.Exists)
+        {
+            file.Delete();
         }
+        Stream sw = File.Create(path);
+       // FileStream sw = new FileStream(path);
+        
+        sw.Write(bytes, 0, bytes.Length);
+       
+        sw.Close();
+        sw.Dispose();
+        yield return new WaitForSeconds(0.02f);
+        aVProVideoPlayer.SetUrl(path);
     }
 
     protected override void Start()

+ 1 - 1
Assets/LangChaoRTC/Remote/ShowRoom/RoomInvite/Scripts/Mp4List.cs

@@ -16,7 +16,7 @@ public class Mp4List : UnitySingleton<Mp4List>
         else
         {
             RoomFile.Instance.FilePrefabConfigList.Add(fileConfig);
-            GameObject obj = Instantiate(mp4Item, RoomFile.Instance.Mp4Point) as GameObject;
+            GameObject obj = Instantiate(mp4Item, transform) as GameObject;
             obj.transform.GetComponent<Mp4Item>().Init(fileConfig);
             Transform filePos = RoomFile.Instance.GetFilePos();
             obj.transform.eulerAngles = filePos.eulerAngles;

+ 1 - 1
Assets/LangChaoRTC/Remote/ShowRoom/RoomInvite/Scripts/PngJpgList.cs

@@ -17,7 +17,7 @@ public class PngJpgList : UnitySingleton<PngJpgList>
         else
         {
             RoomFile.Instance.FilePrefabConfigList.Add(fileConfig);
-            GameObject obj = Instantiate(pngJpgItem, RoomFile.Instance.PngJpgPoint) as GameObject;
+            GameObject obj = Instantiate(pngJpgItem,transform) as GameObject;
             obj.transform.GetComponent<PngJpgItem>().Init(fileConfig);
             Transform filePos = RoomFile.Instance.GetFilePos();
             obj.transform.eulerAngles = filePos.eulerAngles;

+ 2 - 2
Assets/Scripts/RTC/OnWebSocketMsg.cs

@@ -95,8 +95,8 @@ public class OnWebSocketMsg : MonoSingleton<OnWebSocketMsg>
 
                         if (obj2["roleId"].ToString() == "3")
                         {
-                           // RTCRoomManager.Instance.UserJoined(UserEnum.Player);
-                            RTCRoomManager.Instance.OnLocalUserJoined();
+                            RTCRoomManager.Instance.UserJoined(UserEnum.Player);
+                          //  RTCRoomManager.Instance.OnLocalUserJoined();
                         }
                     }
 

+ 3 - 7
Assets/Scripts/RTC/RTCRoomManager.cs

@@ -35,12 +35,6 @@ public class RTCRoomManager : MonoSingleton<RTCRoomManager>, IController
     }
     private void Update()
     {
-        if (GHZRtcManager.Instance.isRoom)
-        {
-            GHZRtcManager.Instance.isRoom = false;
-            OnLocalUserJoined();
-        }
-
         if(isRTCreate)
         {
             isRTCreate = false;
@@ -61,7 +55,7 @@ public class RTCRoomManager : MonoSingleton<RTCRoomManager>, IController
     }
     public void OnLocalUserJoined()
     {
-        UserJoined(UserEnum.Player);
+       // UserJoined(UserEnum.Player);
       
         if (ScenesManager.Instance.getWindow()== ScenesManager.SceneType.ShowRTC) // 当前在RTC 频道内
         {
@@ -113,6 +107,8 @@ public class RTCRoomManager : MonoSingleton<RTCRoomManager>, IController
         switch (userEnum)
         {
             case UserEnum.Player:
+                if (rtcState == RTCEnum.OFF)
+                    OnLocalUserJoined();
                 rtcState = RTCEnum.Online;
                 Debug.Log(" DGJ ===> UserJoined 自己 ");
                 break;

+ 29 - 0
Assets/Scripts/Tool/SycnTransform.cs

@@ -0,0 +1,29 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class SycnTransform : MonoBehaviour
+{
+
+    public Transform obj;
+    private Vector3 oldScale;
+
+    private void Start()
+    {
+        oldScale = obj.localScale;
+    }
+    private void Update()
+    {
+        if(obj.eulerAngles!= transform.eulerAngles)
+        {
+            transform.eulerAngles = obj.eulerAngles;
+        }
+
+        if(oldScale!=obj.localScale)
+        {
+            transform.localScale += (obj.localScale - oldScale);
+            oldScale = obj.localScale;
+        }
+        
+    }
+}

+ 11 - 0
Assets/Scripts/Tool/SycnTransform.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9be79631a08c37048a6abe48b3acd7ce
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: