コード例 #1
0
        private void DisengageButtons()
        {
            if (State == PlayerState.PLAYING)
            {
                stopDown.UpdatePlayback(true);
                SetSoundPlayback(false, false);

                cassetteButtons.PlayButton.ButtonState = CassetteButtons.Button.State.UP;
            }
            else if (State == PlayerState.RECORDING)
            {
                stopDown.UpdatePlayback(true);
                SetSoundRecording(false);
                mixer.StopRecording();

                cassetteButtons.RecButton.ButtonState  = CassetteButtons.Button.State.UP;
                cassetteButtons.PlayButton.ButtonState = CassetteButtons.Button.State.UP;
            }
            else if (State == PlayerState.REWIND)
            {
                stopDown.UpdatePlayback(true);
                rewNoise.UpdatePlayback(false);
                rewindStopwatch.Stop();

                cassetteButtons.RewButton.ButtonState = CassetteButtons.Button.State.UP;
            }
            else if (State == PlayerState.FF)
            {
                stopDown.UpdatePlayback(true);
                ffNoise.UpdatePlayback(false);
                rewindStopwatch.Stop();

                cassetteButtons.FfButton.ButtonState = CassetteButtons.Button.State.UP;
            }
        }
コード例 #2
0
        private void SetSoundPlayback(bool setPlaying, bool slowChange)
        {
            int sampleCount = slowChange ? music.wavFile.sampleRate * 2 / 5 : music.wavFile.sampleRate * 2 / 20;

            if (!isPauseFullyPressed)
            {
                if (setPlaying)
                {
                    music.RampSpeed(0.0f, 1.0f, sampleCount);
                    music.UpdatePlayback(true);
                    isTapePaused = false;
                }
                else
                {
                    music.RampSpeed(1.0f, 0.0f, sampleCount);
                    isTapePaused = true;
                }
            }
        }