예제 #1
0
 // Token: 0x0600C6E4 RID: 50916 RVA: 0x00371780 File Offset: 0x0036F980
 public static void PlayPlayerVoice(ChatVoiceMessage chatInfo, Action onStartPlayVoice = null)
 {
     if (chatInfo.VoiceData != null && chatInfo.VoiceData.Length != 0)
     {
         float[]   data      = AudioUtility.NormalizeVolume(VoiceChatCompression.Instance.Decompress(chatInfo.VoiceData, chatInfo.SampleLength, VoiceChatCompressionType.Speex));
         AudioClip audioClip = AudioClip.Create("TempClip", chatInfo.SampleLength, 1, chatInfo.AudioFrequency, false);
         audioClip.SetData(data, 0);
         if (CommonUIController.Instance != null)
         {
             AudioUtility.SetVolume("All_Game_Sounds", 0.05f, true);
         }
         GameManager.Instance.AudioManager.PlayPlayerVoice(audioClip, 1f);
         if (CommonUIController.Instance != null)
         {
             float soundEndTime = Time.unscaledTime + (float)chatInfo.VoiceLength;
             CommonUIController.Instance.StartCoroutine(new WaitUntil(delegate()
             {
                 if (Time.unscaledTime > soundEndTime)
                 {
                     AudioUtility.SetVolume("All_Game_Sounds", 1f, true);
                     return(true);
                 }
                 return(false);
             }));
         }
         if (onStartPlayVoice != null)
         {
             onStartPlayVoice();
         }
     }
 }
예제 #2
0
    public static int NormalizeVolume_s(IntPtr l)
    {
        int result;

        try
        {
            float[] voiceData;
            LuaObject.checkArray <float>(l, 1, out voiceData);
            float[] a = AudioUtility.NormalizeVolume(voiceData);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, a);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }