Why does my sound play multiple times using touchcount?

I have a simple script that checks if there is a finger on the screen, then plays a sound, then adds velocity to make a character jump. Everything works fine except when I run it on the iphone, the sound is played multiple times each time the screen is touched.

void update()
{
if (Input.touchCount == 1)
{
AudioSource.PlayClipAtPoint(audioclip);
rigidbody2D.velocity = new vector(0, jumpspeed);
}
}

Look at the scripting docs for Touches (under Input.) There’s an extra parameter that tells if it just started or just ended (like mouseDown and mouseUp, but named begin and end) or is mid-touch. There are examples.

Since you aren’t checking, it replays the sound every frame where it feels a finger, more like howInput.GetKey works.