我将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/

10-10 18:44