播放长音频源/音频剪辑

时间:2016-07-01 10:36:11

标签: c# unity3d

我正在尝试播放音频剪辑,太大而无法使用PlayClipAtPoint(),我需要稍后停止播放。

public class GridPower: MonoBehaviour {

    private AudioSource audiosource;
    public AudioClip poweroff;
    int k;

    void Start () 
        {
        audiosource= GetComponent<AudioSource>();
        k = 1; 
        }

    void Update () 
        {
        if (PlayLevel1.percentageLoadProductionint < 100 && StateManager.activeState is PlayState && Time.timeSinceLevelLoad > 1 && k== 1) 
            {
            audiosource.clip = poweroff;
            audiosource.Play ();
            k = 2;
            }
         }
}

我遵循了一些文档但是团结告诉我没有AudioSource附加到脚本所在的游戏对象。

你能帮忙吗?

1 个答案:

答案 0 :(得分:3)

这是完全错误的。删除&#34; AudioClip&#34;的任何和所有提及 - 您永远不会在代码中使用

(1)制作一个空的游戏对象(称之为&#34; test&#34;)。 (2)放一个AudioSource - 无论你喜欢什么音频。 (3)在你的脚本中,有一个公共检查器变量来接受测试时的AudioSource。 (4)只播放该音频源。说实话,它就是那么简单。说你有20首不同的歌。 只有20种不同的游戏对象,例如&#34; test&#34; 。实际上就是这么简单。

假设您在项目中有500个声音效果。你只需要500个游戏对象(例如&#34;测试&#34;在示例中)每个对象都有不同的声音。

(当然,只需要一个空的游戏对象,将它们全部放在&#34;&#34;下,以保持整洁。)

注意 - Unity中的一个很棒的功能是,从资源中选择并拖动100个声音效果(或任何音频)到场景中:注意它&#34;知道&#34;把每个人都放在游戏对象上。这在Unity5中是一个巨大的补充。

就这么简单。