首页 > 解决方案 > 音频不会在特定场景中停止播放

问题描述

我正在 Unity 中编写 C# 脚本。我对在多个场景中播放的音频进行了编码,并且它不会在我期望的另一个场景中停止播放。

这是我开始播放音频脚本BgScript.cs的场景。

此代码用于播放和停止音频。

BgScript.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BgScript : MonoBehaviour
{
private static BgScript instance = null;
    public static BgScript Instance
    {
        get { return instance; }
    }
    void Awake()
    {
        if (instance != null && instance != this)
        {
            Destroy(this.gameObject);
            return;
        }
        else
        {
            instance = this;
        }
        DontDestroyOnLoad(this.gameObject);
    }
}

这是我放置用于音频停止的脚本AudioPause.cs的图像。 在此处输入图像描述

这是我的音频停止代码

音频暂停.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AudioPause : MonoBehaviour
{
    void start() {
        BgScript.Instance.gameObject.GetComponent<AudioSource>().Stop();
    }
}

标签: c#unity3d

解决方案


start() 在 AudioPause.cs 中是小写的,因此代码永远不会运行,因为它永远不会被调用。

void Start() { }

https://docs.unity3d.com/ScriptReference/MonoBehaviour.Start.html


推荐阅读