Looping an audio while holding "shift key"

Hey guys,
I have a breathing sound effect I have for when my character is sprinting but I struggle to get it to play. Any help please?

if(Input.GetKey(KeyCode.LeftShift))
	{	
		if(energy > 0)
		{
			moveSpeed = sprintSpeed;
			energy -= Time.deltaTime * energySpeed;
			GetComponent.<AudioSource>().PlayOneShot(RunningSound);

		}
		else if(energy < 0)
		{
			energy = 0;
			moveSpeed = 5.0;
		}
}

Enable looping with AudioSource.loop. Play when shift is held, but down repeat Play() over and over. Stop() when shift is up.

AudioSource Audio;

void Start()
{
	Audio = GetComponent<AudioSource>();
	Audio.loop = true;
}

void Update()
{
	if (Input.GetKey(KeyCode.LeftShift))
	{
		if (energy > 0)
		{
			moveSpeed = sprintSpeed;
			energy -= Time.deltaTime * energySpeed;
            // Ensure that Play() isnt called over and over again.
            // Similer to if (Input.GetKeyDown(KeyCode.LeftShift)) in that it'll only call once after LeftShift is down.
			if (!Audio.IsPlaying)
			{
				Audio.Play();
			}
		}
		else if (energy < 0)
		{
			energy = 0;
			moveSpeed = 5.0;
		}
	}
	else if (Input.GetKeyUp(KeyCode.LeftShift))
	{
		if (Audio.IsPlaying)
		{
			Audio.Stop();
		}
	}
}