C# 音频源不想工作,即使它是;“触发”;通过碰撞盒

C# 音频源不想工作,即使它是;“触发”;通过碰撞盒,c#,unity3d,audio,C#,Unity3d,Audio,我有个奇怪的问题。我想触发一个带有冲突框的音频文件。调试日志确认音频源已触发,但它将播放音频。这里的原因可能是什么 我已将音频侦听器连接到我的相机,并将音频源连接到使用以下代码设置的对象: using UnityEngine; [CreateAssetMenu(menuName = "ScriptableCookbook/Actions/PlayAudioAction")] public class PlayAudioAction : ScriptableAction {

我有个奇怪的问题。我想触发一个带有冲突框的音频文件。调试日志确认音频源已触发,但它将播放音频。这里的原因可能是什么

我已将音频侦听器连接到我的相机,并将音频源连接到使用以下代码设置的对象:

using UnityEngine;

[CreateAssetMenu(menuName = "ScriptableCookbook/Actions/PlayAudioAction")]
public class PlayAudioAction : ScriptableAction
{
    [SerializeField] private AudioClip clipToPlay = null;
    private AudioSource audioSource;

    public override void PerformAction(GameObject obj)
    {
        audioSource = obj.AddComponent<AudioSource>();
        audioSource.clip = clipToPlay;
        audioSource.playOnAwake = false;
        audioSource.spatialBlend = 1;
        audioSource.Play();
    }

    public override void StopAction(GameObject gameObject)
    {
        if (audioSource != null)
        {
            audioSource.Stop();
        }
    }
}
使用UnityEngine;
[CreateAssetMenu(menuName=“ScriptableCookbook/Actions/PlayAudioAction”)]
公共类PlayAudioAction:ScriptableAction
{
[SerializeField]专用音频剪辑剪辑播放=null;
私人音频源音频源;
公共覆盖无效性能(GameObject obj)
{
audioSource=obj.AddComponent

这就是声音本身:

你离得太远了

您已启用
SpatialBlend=1

在Inspector中,你可以看到衰减曲线,红线是你的音频监听器所处的位置=>太远了,听不到任何声音


为了让你的音频听者能够听到远处的声音,你必须编辑这个滚动

一般情况:是否有理由按需添加
AudioSource
组件

如果已经从一开始就将其添加到对象上,请正确地调整设置,并且在代码中只执行此操作

public override void PerformAction(GameObject obj)
{
    audioSource = obj.GetComponent<AudioSource>();
    if(audioSource) audioSource.Play();
}

public override void StopAction(GameObject gameObject)
{
    if (audioSource)
    {
        audioSource.Stop();
    }
}
public覆盖无效性能(GameObject obj)
{
audioSource=obj.GetComponent();
if(audioSource)audioSource.Play();
}
公共覆盖无效停止操作(GameObject GameObject)
{
中频(音频源)
{
audioSource.Stop();
}
}
你离得太远了

您已启用
SpatialBlend=1

在Inspector中,你可以看到衰减曲线,红线是你的音频监听器所处的位置=>太远了,听不到任何声音


为了让你的音频听者能够听到远处的声音,你必须编辑这个滚动

一般情况:是否有理由按需添加
AudioSource
组件

如果已经从一开始就将其添加到对象上,请正确地调整设置,并且在代码中只执行此操作

public override void PerformAction(GameObject obj)
{
    audioSource = obj.GetComponent<AudioSource>();
    if(audioSource) audioSource.Play();
}

public override void StopAction(GameObject gameObject)
{
    if (audioSource)
    {
        audioSource.Stop();
    }
}
public覆盖无效性能(GameObject obj)
{
audioSource=obj.GetComponent();
if(audioSource)audioSource.Play();
}
公共覆盖无效停止操作(GameObject GameObject)
{
中频(音频源)
{
audioSource.Stop();
}
}

非常感谢,但即使使用直接连接的音频源脚本,音频也会被触发(可能还会播放?),但我听不到任何声音。“唤醒时”,音频播放,我可以听,但通过脚本它不会。有什么想法吗?非常感谢,但即使使用直接连接的音频源脚本,音频也会被触发(可能也在播放?),但我什么也听不见。“醒来时”,音频播放,我可以听,但通过脚本听不到。知道吗?