首页 > 解决方案 > unity AudioSource.Play 有噪音

问题描述

我有多个带有 AudioSource 组件的钢琴键,如果我反复按一个键,声音会以原始声音剪辑中没有的滴答声开始。

我尝试更改音频剪辑并将多普勒因子设置为 0,但没有任何效果。

我可以通过在播放时实例化键来管理它,现在噪音消失了,但是如果我通过将手指移到它们上来播放多个键,我会得到“Hall Reverb”效果,而且它也有点贵。

         if (go.GetComponent<AudioSource>().isPlaying)
         {
             AudioSource Note = Instantiate(go.GetComponent<AudioSource>(), Clones);
             Note.GetComponent<SpriteRenderer>().enabled = false;
             Note.GetComponent<BoxCollider>().enabled = false;
             Note.Play();
             Destroy(Note.gameObject, 2);
         }
         else
         {
             go.GetComponent<AudioSource>().Play();
         }

我尝试了 PlayOneShot(),它的效果与上面的代码完全相同。

你可以帮帮我吗?我正在使用 Unity 2018.2.14f1。

标签: unity3daudionoise

解决方案


如果我错了,请纠正我,但在我看来,你想播放一个音符,即使你的音频源已经在播放。

您可以在某一点播放音频剪辑,而不是复制现有的游戏对象(这很容易出错,而是使用预制件)。

AudioSource.PlayClipAtPoint(clip, transform.position);

您需要在脚本中添加一个将目标剪辑接收到的公共变量。


推荐阅读