touch the object to play an audio

i want to play an audio clip only when a 3d object is touched/clicked…in my project there are 6 3d objects each having its own audio file which should be played only when it is touched or clicked…i used itween to do it but it is playing automatically when it is not clicked/touched …here comes my coding (NOTE: i have unchecked play awake button too)

var target : GameObject;
var eventName : String;
var sound1 : AudioClip;

function OnMouseDown() {
    audio.clip = sound1;
    audio.Play ();
    iTweenEvent.GetEvent(target, eventName).Play();
}

function Update () {
}

in target placed my game object and in audio placed appropriate clip
somebody save me …

An approach suggestion, to make sure the event is triggering on actual mouse interaction:

  1. use the OnMouseUp function
  2. mouse click requires a COLLIDER component (in a layer different than IgnoreRaycast)
  3. a kinematic rigidbody is necessary unless the collider is a TRIGGER (Is Trigger checkbox flagged)
  4. CRITICAL: make sure that the audiosource hosted with the script is not set to ‘Play On Awake’ and ‘Loop’ (both checkboxes unmarked)