我将AudioSources作为播放器对象的子对象,在其中获得了正在使用的脚本。
因此,我在主类中实现了Audiosources:
public AudioSource good_morning;
public AudioSource stroke_message;
public AudioSource citysound;
public AudioSource silence;
然后在无效的Start()中,我尝试获取组件并播放其中的1个。但是什么都没有发生..你能帮我这个忙吗?
citysound = GetComponentInChildren<AudioSource>();
good_morning = GetComponentInChildren<AudioSource> ();
stroke_message = GetComponentInChildren<AudioSource> ();
silence = GetComponentInChildren<AudioSource>();
good_morning.Play ();
最佳答案
我怀疑您在场景中没有将音频片段分配给AudioSource
。
我确定的是您不完全了解如何使用GetComponentInChildren<AudioSource>();
。它遍历您转换的 child ;在其中之一中检测到AudioSource
后,它将停止并返回它。因此,基本上,所有变量都将设置为相同的AudioSource
。我建议您从第二个代码段中删除前4行,并从Unity编辑器中手动分配AudioSources
,以确保每个代码段都被分配了正确的变量。
关于audio - Unity-为什么我无法通过脚本播放所需的声音?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36012647/