示例#1
0
    public override void _Ready()
    {
        InitVignette();

        recordEffect = (AudioEffectRecord)AudioServer.GetBusEffect(AudioServer.GetBusIndex("Record"), 0);
        var recordNode = new AudioStreamPlayer()
        {
            Autoplay = true, Stream = new AudioStreamMicrophone(), Bus = "Record"
        };

        AddChild(recordNode);

        var btHolder = new VBoxContainer()
        {
            Alignment = BoxContainer.AlignMode.Center
        };

        btHolder.AddConstantOverride("separation", 60);
        btHolder.RectMinSize = GetViewportRect().Size;
        AddChild(btHolder);

        recordBt.Text = "Record";
        playBt.Text   = "Play";

        StyleButton(recordBt, btHolder);
        StyleButton(playBt, btHolder);

        btHolder.AddChild(recordBt);
        btHolder.AddChild(playBt);

        recordBt.Connect("button_down", this, nameof(OnRecordDown));
        recordBt.Connect("button_up", this, nameof(OnRecordUp));
        playBt.Connect("button_down", this, nameof(OnPlayDown));
        playBt.Connect("button_up", this, nameof(OnPlayUp));

        if (!new File().FileExists("user://" + FILENAME))
        {
            playBt.Disabled = true;
        }
    }