My script plays my audioClip after the timer runs out, however once it starts playing, it plays the clip every frame and sounds weird, buggy, and it never ends. How can I make it so that it only plays the clip once and stop refreshing the sounds every frame? Loop is set to False as well.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class audioTimer : MonoBehaviour
{
bool okayToPlayAudio;
public float timeLeft = 10f; //time in seconds
public AudioSource theaterVoice;
public AudioClip audioClip;
public void Update()
{
if (timeLeft > 0.0)
{
timeLeft -= Time.deltaTime;
}
else
{
okayToPlayAudio = true;
}
if(okayToPlayAudio)
{
theaterVoice.PlayOneShot(audioClip, 1.0f);
okayToPlayAudio = false;
}
}
}