/// <summary> /// Removes a chatter's webcam from the grid /// </summary> /// <param name="_chatterId">id of chatter to remove</param> public void RemoveChatterGridElement(int _chatterId) { ChatterWebcamHandle handleToDestroy = chatterWebcamHandles[_chatterId]; chatterWebcamHandles.Remove(_chatterId); Destroy(handleToDestroy.gameObject); GenerateGrid(); }
public void ChatterMutedMic(int _chatterIndex, bool _muted) { if (chatterWebcamHandles.ContainsKey(_chatterIndex)) { ChatterWebcamHandle chatterWebcamHandle = chatterWebcamHandles[_chatterIndex]; chatterWebcamHandle.UpdateMuteIcon(_muted); } }
public void UpdateChatterWebcam(int _chatterIndex, byte[] _frame) { if (chatterWebcamHandles.ContainsKey(_chatterIndex)) { ChatterWebcamHandle chatterWebcamHandle = chatterWebcamHandles[_chatterIndex]; chatterWebcamHandle.SetWebcamImage(_frame); } }
public void ChatterEnabledWebcam(int _chatterIndex, bool _enabled) { if (chatterWebcamHandles.ContainsKey(_chatterIndex)) { ChatterWebcamHandle chatterWebcamHandle = chatterWebcamHandles[_chatterIndex]; if (_enabled == false) { chatterWebcamHandle.DisableWebcamImage(); } } }
public void PlayAudio(int _chatterId, byte[] _byteAudio, int _micChannels, int _sampleRate) { float[] floatAudio = ToFloatArray(_byteAudio); if (GridManager.instance.chatterWebcamHandles.ContainsKey(_chatterId)) { ChatterWebcamHandle chatterWebcamHandle = GridManager.instance.chatterWebcamHandles[_chatterId]; AudioSource src = chatterWebcamHandle.GetComponent <AudioSource>(); src.clip = AudioClip.Create("test", floatAudio.Length, _micChannels, _sampleRate, false); src.clip.SetData(floatAudio, 0); if (!src.isPlaying) { src.Play(); } } }
/// <summary> /// Adds a chatter's webcam to the grid /// </summary> /// <param name="_chatterId">chatter id</param> public void AddChatterGridElement(int _chatterId) { ChatterWebcamHandle chatterWebcamHandle = Instantiate(chatterGridElement, transform).GetComponent <ChatterWebcamHandle>(); chatterWebcamHandle.id = _chatterId; chatterWebcamHandle.SetUsername(AppManager.chatters[_chatterId].username); chatterWebcamHandle.InstantiateMaterial(); chatterWebcamHandle.webcamRawImage.texture = GuiManager.instance.webcamDisabledTexture; chatterWebcamHandle.webcamRawImage.material.mainTexture = GuiManager.instance.webcamDisabledTexture; chatterWebcamHandles.Add(_chatterId, chatterWebcamHandle); if (_chatterId == Client.instance.myId) { MainManager.instance.SetChatterWebcamHandle(chatterWebcamHandle); } Debug.Log("Added element to grid"); GenerateGrid(); }
/// <summary> /// Sets chatterWebcamHandle /// </summary> /// <param name="handle"></param> public void SetChatterWebcamHandle(ChatterWebcamHandle handle) { chatterWebcamHandle = handle; audioSource = chatterWebcamHandle.GetComponent <AudioSource>(); }