How can I stop the audio playing multiple times and overlapping with each other

So im trying to create a popup message if the user gazed on an object for 2-3 seconds… then there will be a button for the user to gazed on to listen to the audio. so the problem here is that the audio is working perfectly (by using one shot) but if i gazed it continuously the audio will be playing over and over again and will overlap with each other… So how can make the audio be delayed or not playing until the 1st audio has finished

using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    using UnityEngine.EventSystems;
    
    public class GazeMessage : MonoBehaviour
    {
        public Image ImageCircle;
        public int gazeTime = 1;
        private float timer;
        private bool gazedAt;
    
        // Use this for initialization
        void Start()
        {
    
        }
    
        // Update is called once per frame
        void Update()
        {
    
            if (gazedAt)
            {
                timer += Time.deltaTime;
                ImageCircle.fillAmount = timer / gazeTime;
    
                if (timer >= gazeTime)
                {
                    // execute pointerdown handler
                    ExecuteEvents.Execute(gameObject, new PointerEventData(EventSystem.current), ExecuteEvents.pointerDownHandler);
                    timer = 0f;
                }
            }
    
        }
    
        public void PointerEnter()
        {
            gazedAt = true;
            Debug.Log("PointerEnter");
        }
    
        public void PointerExit()
        {
            gazedAt = false;
            timer = 0;
            ImageCircle.fillAmount = 0;
            Debug.Log("PointerExit");
        }
    
        public void PointerDown()
        {
            Debug.Log("PointerDown");
        }
    }

You can prevent that from happening by checking the “AudioSource.isPlaying”. Add something like this to the event:

public void PlayAudioClip()
{
    if (!audioSource.isPlaying)
    {
        audioSource.PlayOneShot(clip);
    }
}