I have this method which plays a sound, when the user taps on the screen, & I want it to stop playing it when the user taps the screen again. But the problem is "DoSomething()" method doesn't stop, it keeps going till it finishes.

bool keepdoing = true;

private async void ScreenTap(object sender, System.Windows.Input.GestureEventArgs e)
    {
        keepdoing = !keepdoing;
        if (!playing) { DoSomething(); }
    }

private async void DoSomething() 
    {
        playing = true;
        for (int i = 0; keepdoing ; count++)
        {
            await doingsomething(text);
        }
        playing = false;
    }

Any help will be appreciated.
Thanks :)

Edit
Report