protected override VideoStream CreateVideoStream(string streamId) { var videoStream = VoximplantSdk.CreateVideoStream <VideoStreamIOS>(); videoStream.SetStreamId(streamId); return(videoStream); }
void Start() { VoximplantSdk.Initialize(); _client = VoximplantSdk.GetClient(); _client.Connected += ClientOnConnected; _client.LoginSuccess += ClientOnLoginSuccess; _client.LoginFailed += ClientOnLoginFailed; _client.Disconnected += ClientOnDisconnected; _started = true; _client.Connect(); }
protected override VideoStream CreateVideoStream(string streamId) { var nativeStream = _nativeEndpoint.Call <AndroidJavaObject>("getVideoStream", streamId); if (nativeStream == null) { return(null); } var videoStream = VoximplantSdk.CreateVideoStream <VideoStreamAndroid>(); videoStream.SetNativeStream(nativeStream); return(videoStream); }
protected override VideoStream CreateVideoStream(string streamId) { Debug.Log($"CreateVideoStream: {streamId}"); var nativeStream = _nativeCall.Call <AndroidJavaObject>("getVideoStream", streamId); Debug.Log($"nativeStream: {nativeStream}"); if (nativeStream == null) { return(null); } var videoStream = VoximplantSdk.CreateVideoStream <VideoStreamAndroid>(); videoStream.Local = true; videoStream.SetNativeStream(nativeStream); return(videoStream); }
protected override void UpdateImpl() { voximplant_video_stream_update_texture(StreamId); foreach (var o in Renderers) { switch (o) { case RawImage rawImage: rawImage.material.SetFloat(LocalProperty, Local ? 1.0f : 0.0f); rawImage.material.SetFloat(FrontCameraProperty, VoximplantSdk.GetCameraManager().Camera == Hardware.CameraType.Front && Local ? 1.0f : 0.0f); break; case Material material: material.SetFloat(LocalProperty, Local ? 1.0f : 0.0f); material.SetFloat(FrontCameraProperty, VoximplantSdk.GetCameraManager().Camera == Hardware.CameraType.Front && Local ? 1.0f : 0.0f); break; } } }
protected override void UpdateImpl() { foreach (var o in Renderers) { switch (o) { case RawImage rawImage: rawImage.material.SetFloat(RotationProperty, -Mathf.Deg2Rad * Rotation); rawImage.material.SetFloat(LocalProperty, Local ? 1.0f : 0.0f); rawImage.material.SetFloat(FrontCameraProperty, VoximplantSdk.GetCameraManager().Camera == CameraType.Front && Local ? 1.0f : 0.0f); break; case Material material: material.SetFloat(RotationProperty, -Mathf.Deg2Rad * Rotation); material.SetFloat(LocalProperty, Local ? 1.0f : 0.0f); material.SetFloat(FrontCameraProperty, VoximplantSdk.GetCameraManager().Camera == CameraType.Front && Local ? 1.0f : 0.0f); break; } } }
private void OnMouseDown() { _frontCameraActive = !_frontCameraActive; VoximplantSdk.GetCameraManager().Camera = _frontCameraActive ? CameraType.Front : CameraType.Back; }
private IEnumerator Start() { _screenWidth = Screen.width; const int size = 64; _defaultTexture = new Texture2D(size, size); var pixels = Enumerable.Repeat(BackgroundColor, size * size).ToArray(); _defaultTexture.SetPixels(pixels); _defaultTexture.Apply(); _remote = GameObject.Find("Remote Video").GetComponent <Renderer>(); _local = GameObject.Find("Local Video").GetComponent <Renderer>(); _callButton = GameObject.Find("Call Button").GetComponent <Renderer>(); _callButtonText = GameObject.Find("Call Button Text").GetComponent <TextMesh>(); Camera.main.backgroundColor = BackgroundColor; _local.material.mainTexture = _defaultTexture; _remote.material.mainTexture = _defaultTexture; _callButton.material.color = ButtonColor; _callButtonText.text = $"Call: {Callee}"; if (HasMicrophone()) { yield return(Application.RequestUserAuthorization(UserAuthorization.Microphone)); if (Application.HasUserAuthorization(UserAuthorization.Microphone)) { Debug.Log("Microphone permission granted"); } yield return(0); } if (HasCamera()) { yield return(Application.RequestUserAuthorization(UserAuthorization.WebCam)); if (Application.HasUserAuthorization(UserAuthorization.WebCam)) { Debug.Log("Camera permission granted"); } yield return(0); } VoximplantSdk.Initialize(); _client = VoximplantSdk.GetClient(); _client.Connected += ClientOnConnected; _client.ConnectionFailed += ClientOnConnectionFailed; _client.Disconnected += ClientOnDisconnected; _client.LoginSuccess += ClientOnLoginSuccess; _client.LoginFailed += ClientOnLoginFailed; _client.IncomingCall += ClientOnIncomingCall; _client.Connect(); RefreshRenderers(); }