コード例 #1
0
 void OnAudioDataIn(VNetMessageVOIPData voip)
 {
     if (voip.offsetIndex + voip.blockLength > 8192)
     {
         source.clip = audioClip;
         source.Play();
     }
     audioClip.SetData(voip.voiceData, voip.offsetIndex);
 }
コード例 #2
0
    public override VNetMessage Clone()
    {
        VNetMessageVOIPData clone = (VNetMessageVOIPData)base.Clone();

        clone.recordTime  = recordTime;
        clone.offsetIndex = offsetIndex;
        clone.blockLength = blockLength;
        clone.voiceData   = new float[voiceData.Length];
        for (int i = 0; i < voiceData.Length; i++)
        {
            clone.voiceData [i] = voiceData [i];
        }
        return(clone);
    }
コード例 #3
0
    void Start()
    {
        if (Microphone.devices.Length == 0)
        {
            isActive = false;
            return;
        }

        m_audioClip = Microphone.Start(Microphone.devices[0], true, 1, 8192);

        m_samples       = new float[8192];
        m_activeSamples = new float[8192];

        m_audioClip.GetData(m_samples, 0);
        lastDifferent  = 0;
        firstDifferent = 8191;

        m_dataMessage           = new VNetMessageVOIPData();
        m_dataMessage.voiceData = new float[200];

        isActive = true;
    }