Esempio n. 1
0
        protected override VideoStream CreateVideoStream(string streamId)
        {
            var videoStream = VoximplantSdk.CreateVideoStream <VideoStreamIOS>();

            videoStream.SetStreamId(streamId);
            return(videoStream);
        }
Esempio n. 2
0
    void Start()
    {
        VoximplantSdk.Initialize();
        _client               = VoximplantSdk.GetClient();
        _client.Connected    += ClientOnConnected;
        _client.LoginSuccess += ClientOnLoginSuccess;
        _client.LoginFailed  += ClientOnLoginFailed;
        _client.Disconnected += ClientOnDisconnected;

        _started = true;
        _client.Connect();
    }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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;
                }
            }
        }
Esempio n. 6
0
        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;
                }
            }
        }
Esempio n. 7
0
 private void OnMouseDown()
 {
     _frontCameraActive = !_frontCameraActive;
     VoximplantSdk.GetCameraManager().Camera = _frontCameraActive ? CameraType.Front : CameraType.Back;
 }
Esempio n. 8
0
    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();
    }