how to apply "WaitForSeconds" ? Help Me

Hello how are you? I need help with a problem … as applied “WaitForSecond” in this script?

the idea is that at high RPM, sound the exhaust sound, and have to wait some time to return to play …
I let the script, it works … just repeats each time the sound is just …


using UnityEngine;
using System.Collections;

public class exaustSound : MonoBehaviour {
	public AudioClip exaust;
	public float exaustVolume=1f;
	public float exaustpitch=1f;
	AudioSource exaustSource;
	Drivetrain drivetrain;
	float volumeFactor;
	int i,k;	
	AudioSource CreateAudioSource(AudioClip clip, bool loop, bool playImmediately, Vector3 position) {
		GameObject go = new GameObject("audio");
		go.transform.parent = transform;
		go.transform.localPosition = position;
		go.transform.localRotation = Quaternion.identity;
		go.AddComponent(typeof(AudioSource)); = clip; = false;
		if (loop==true){ = 0; = true;
		else = false;
		if (playImmediately);
	void Start () {
		exaustSource= CreateAudioSource(exaust, false, false,;
	void Update () {
        drivetrain= GetComponent<Drivetrain>();
		if (drivetrain) {		
			if (this.drivetrain.rpm > 10000f) {if (!exaustSource.isPlaying) exaustSource.Play();
			else exaustSource.Stop();

A couple simple ways to use a Coroutine in C#:

using UnityEngine;
using System.Collections;
public class Example : MonoBehaviour 
	int count = 0;
	void Awake()
	IEnumerator MyCoroutine(int WaitTime)
		yield return new WaitForSeconds(WaitTime);
		print ("Next Coroutine");
	IEnumerator MyOtherCoroutine()
			yield return new WaitForSeconds(1);
			print (count);
			yield return new WaitForEndOfFrame();