Esempio n. 1
0
    void Start()
    {
#if (UNITY_2018_3_OR_NEWER && UNITY_ANDROID)
        permissionList.Add(Permission.Microphone);
        permissionList.Add(Permission.Camera);
        permissionList.Add(Permission.ExternalStorageRead);
        permissionList.Add(Permission.ExternalStorageWrite);
#endif

#if UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX
        Screen.fullScreen        = false;
        Application.wantsToQuit += OnApplicationGoingToQuit;
#endif
        mControlButton = GameObject.Find("ControlButton").GetComponent <Button>();
        //mControlButton.onClick.AddListener(OnControlButtonClicked);

        GameObject          go      = GameObject.Find("LocalVideoCube");
        VideoDisplaySurface surface = go.AddComponent <VideoDisplaySurface>();

        go      = GameObject.Find("RemoteVideoCube");
        surface = go.AddComponent <VideoDisplaySurface>();

        //create alirtc engine
        string extra = "";
        mRtcEngine = IAliRtcEngine.GetEngine(extra);

        //set callback
#if UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX
        IAliRtcEngine.OnJoinChannelNotify          = onJoinChannelNotify;
        IAliRtcEngine.OnPublishNotify              = onPublishNotify;
        IAliRtcEngine.OnSubscribeNotify            = onSubscribeNotify;
        IAliRtcEngine.OnRemoteUserOnLineNotify     = onRemoteUserOnLineNotify;
        IAliRtcEngine.OnRemoteUserOffLineNotify    = onRemoteUserOffLineNotify;
        IAliRtcEngine.OnRemoteTrackAvailableNotify = onRemoteTrackAvailableNotify;
        IAliRtcEngine.OnSubscribeChangedNotify     = onSubscribeChangedNotify;
        IAliRtcEngine.OnLeaveChannelResultNotify   = onLeaveChannelResultNotify;
#else
        mRtcEngine.OnJoinChannelNotify          = onJoinChannelNotify;
        mRtcEngine.OnPublishNotify              = onPublishNotify;
        mRtcEngine.OnSubscribeNotify            = onSubscribeNotify;
        mRtcEngine.OnRemoteUserOnLineNotify     = onRemoteUserOnLineNotify;
        mRtcEngine.OnRemoteUserOffLineNotify    = onRemoteUserOffLineNotify;
        mRtcEngine.OnRemoteTrackAvailableNotify = onRemoteTrackAvailableNotify;
        mRtcEngine.OnSubscribeChangedNotify     = onSubscribeChangedNotify;
        mRtcEngine.OnLeaveChannelResultNotify   = onLeaveChannelResultNotify;
#endif
        //set auto publish and subscribe
        mRtcEngine.SetAutoPublish(true, true);
    }