using System.Collections; using TMPro; using UnityEngine; namespace UnityTest.ZXL { public class Speak : MonoBehaviour { public TextMeshProUGUI speakContent; private AudioSource _audioSource; private void Awake() { _audioSource = GetComponent(); gameObject.SetActive(false); } private void OnEnable() { if (_audioSource.clip != null) { StartCoroutine(PlayAudio()); } } IEnumerator PlayAudio() { var length = _audioSource.clip.length; yield return new WaitForSeconds(length); _audioSource.clip = null; } private void OnDisable() { StopAllCoroutines(); _audioSource.clip = null; } } }