【问题标题】:Unity3d AudioClip played with AudioSource not working properly使用 AudioSource 播放的 Unity3d AudioClip 无法正常工作
【发布时间】:2013-06-17 00:57:54
【问题描述】:

所以我做了(在 Unity 编辑器中):

GameObject -> Create Empty

我将我的 Avatar.cs(主玩家动画MonoBehaviour)拖到游戏文件中。

在 Avatar.cs 中我添加了:

public AudioClip audioClipJump;

和

// this is where the jump animation gets played
audio.PlayOneShot(audioClipJump);

回到 Unity 编辑器,我在 GameObject.Avatar 中看到组件 Audio Clip Jump,我将 .wav 文件拖放到它上面。

然后我进入游戏,跳跃动画播放,但我没有声音:(

这里是 Unity 编辑器的截图:

就像我说的,只有 C# 文件中的两行

【问题讨论】:

  • 你的场景中有一个活跃的AudioListener吗?
  • 它应该可以工作。您使用的是 3D 音效吗?如果是这种情况,请检查 3d 音频设置下的最大距离参数以及源相对于音频侦听器的位置。另外,您在某处有音频监听器吗?它是否处于活动状态?

标签: c# audio mono unity3d


【解决方案1】:
  • 检查场景中是否有AudioListener,可能附加到相机。
  • 尝试使用PlayOneShot 函数的第二个参数来表示音量。
  • 请记住,在包含 AudioSource 的同一 GameObject 中拥有和 AudioListener 不起作用(出于某种原因)。
  • 如果全部失败,请尝试从另一个组件播放声音,该组件应该只有播放声音的代码。

【讨论】:

  • /* 包含 AudioSource 的同一 GameObject 中的 AudioListener 不起作用 */ 谢谢。解决了我的问题。但是,在以后的版本中,这不是问题。
猜你喜欢
  • 2020-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-28
  • 1970-01-01
  • 2016-02-05
  • 2017-04-02
  • 2016-12-03
相关资源
最近更新 更多