Exemple #1
0
    void OnGUI()
    {
        GUI.Label(lablerc(0), lasttxt);
        int i = 2;

        foreach (var inf in listinfos)
        {
            GUI.Label(lablerc(i), inf);
            i++;
        }


        if (!ScreenRecorder.IsAvailable())
        {
            if (GUI.Button(rc(3, 0), "以上按钮都没用"))
            {
                set("test", "hello");
            }
        }

        // 录屏
        if (!ScreenRecorder.IsRecording())
        {
            if (GUI.Button(rc(0, 0), "StartRecording"))
            {
                ScreenRecorder.StartRecording();
            }
        }
        else
        {
            if (GUI.Button(rc(0, 0), "StopRecording"))
            {
                ScreenRecorder.StopRecording();
            }
        }


        if (!ScreenRecorder.IsCameraEnabled())
        {
            if (GUI.Button(rc(0, 1), "EnableCamera"))
            {
                ScreenRecorder.SetCameraEnabled(true);
            }
        }
        else
        {
            if (GUI.Button(rc(0, 1), "DisableCamera"))
            {
                ScreenRecorder.SetCameraEnabled(false);
            }
        }

        if (!ScreenRecorder.IsMicrophoneEnabled())
        {
            if (GUI.Button(rc(0, 2), "EnableMicrophone"))
            {
                ScreenRecorder.SetMicrophoneEnabled(true);
            }
        }
        else
        {
            if (GUI.Button(rc(0, 2), "DisableMicrophone"))
            {
                ScreenRecorder.SetMicrophoneEnabled(false);
            }
        }

        // 预览
        if (ScreenRecorder.CanPreview())
        {
            if (GUI.Button(rc(1, 0), "DiscardRecording"))
            {
                ScreenRecorder.DiscardRecording();
            }
            if (GUI.Button(rc(1, 1), "Preview"))
            {
                ScreenRecorder.Preview();
            }
        }


        // 广播
        if (GUI.Button(rc(2, 0), "LoadAndPresent"))
        {
            Broadcast.LoadAndPresent();
        }


        if (!Broadcast.IsBroadcasting())
        {
            if (GUI.Button(rc(2, 1), "StartBroadcast"))
            {
                Broadcast.StartBroadcast();
            }
        }
        else
        {
            if (GUI.Button(rc(2, 1), "FinishBroadcast"))
            {
                Broadcast.FinishBroadcast();
            }
        }

        if (Broadcast.IsBroadcasting())
        {
            if (!Broadcast.IsPaused())
            {
                if (GUI.Button(rc(2, 2), "PauseBroadcast"))
                {
                    Broadcast.PauseBroadcast();
                }
            }
            else
            {
                if (GUI.Button(rc(2, 2), "ResumeBroadcast"))
                {
                    Broadcast.ResumeBroadcast();
                }
            }
        }

        // 其他
        if (GUI.Button(rc(3, 0), "SetCameraPreviewPositionAndSize"))
        {
            int w = Random.Range(0, 50);
            int h = Random.Range(0, 50);
            ScreenRecorder.SetCameraPreviewPositionAndSize(Screen.width - 310 - w, Screen.height - 420 - h, 300, 300);
        }

        if (GUI.Button(rc(3, 1), "GetServiceInfo"))
        {
            set("GetServiceInfo", Broadcast.GetServiceInfo());
        }
    }