unity3d C# Unity -正在尝试制作音频栏/音频擦洗器/搜索栏(Unity滑块)

7vhp5slm  于 2022-12-13  发布在  C#
关注(0)|答案(1)|浏览(154)

我是个菜鸟,所以如果我的问题很菜鸟的话,请原谅我。
我尝试在我的Unity程序中创建一个AudioSlider。目前,我使用的代码不能使滑块随WAV滑动,并返回一个NullReferenceException(对象引用未设置为对象的示例)。
这是我的代码:

using UnityEngine;
using UnityEngine.UI;

public class TimeBar : MonoBehaviour
{
    [SerializeField] 
    private AudioSource source;
    private Slider timeBar;

    public void UpdateSourceTime(float value)
    {
        source.time = value;
    }
    
    private void OnEnable()
    {
        timeBar = GetComponent<Slider>();
    }

    void Start()
    {
        timeBar.maxValue = source.clip.length;
    }
}

似乎找不到一个教程显示如何做一个音频擦洗器,大多数是音量滑块,所以我不知道如何进行或什么研究。

dsekswqp

dsekswqp1#

下面是运行良好的代码。请更改代码并检查每个项目。

using UnityEngine;
using UnityEngine.UI;

public class TimeBar : MonoBehaviour
{
    [SerializeField] AudioSource source;
    [SerializeField] Slider timeBar;
    
    void Start()
    {
        timeBar.maxValue = source.clip.length;
        timeBar.onValueChanged.AddListener(UpdateSourceTime);
    }
    
    void UpdateSourceTime(float value)
    {
        source.time = value;
    }
}

在下面的示例中,为便于说明,所有内容都附加到Slider,但如果附加到其他对象,也没有关系。

相关问题