Unity常用音频操作类示例代码

 更新时间:2021年07月21日 11:31:55   作者:小白工作室  
这篇文章主要介绍了Unity常用音频操作类,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

下面通过代码给大家介绍Unity常用音频操作类,具体代码如下所示:

using UnityEngine;
using System.Collections;
 
public class AudioPlay : MonoBehaviour {
    public static AudioPlay Instance;
    public AudioClip[] FuChuAudio;
    public AudioSource FCAudio;
   // public AudioSource BabyAudio;
    // Use this for initialization
    void Awake()
    {
        Instance = this;
    }
 
    void Start () {    
    }
    
    // Update is called once per frame
    void Update () {    
    }
    /// <summary>
    /// 播放某个音频
    /// </summary>
    /// <param name="i"></param>
    public void playAudio(int i)
    {
        FCAudio.clip = FuChuAudio[i];
        FCAudio.Play();
    }
    /// <summary>
    /// 停止播放所有的音频
    /// </summary>
    public void StopplayAll()
    {
    
        for (int i= 0; i< FuChuAudio.Length; i++)
        {
            FCAudio.clip = FuChuAudio[i];
            FCAudio.Stop();
        }      
    }
    /// <summary>
    /// 停止播放某个音频
    /// </summary>
    /// <param name="i"></param>
    public void StopplayOne(int i)
    {
        FCAudio.clip = FuChuAudio[i];
        FCAudio.Stop();
    }
 
    /// <summary>
    /// 循环播放某个音频
    /// </summary>
    /// <param name="i"></param>
    public void playLoop(int i)
    {
        FCAudio.clip = FuChuAudio[i];
        FCAudio.loop = true;//设置声音为循环播放 ;
        FCAudio.Play();
    }
}
/***将这个脚本挂载到一个空物体上,并且给它添加 AudioSource 组件*/using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
/// <summary>
/// 控制所有音乐的管理类
/// </summary>
public class AudioManager : MonoBehaviour
{
    //将要轮流播放的音乐组
    public AudioClip[] audioGroup;
 
    //当前播放的是谁
    private int playingIndex;
 
    //是否允许播放音乐
    private bool canPlayAudio;
 
    //AudioSource组件
    private AudioSource audioSource;
 
    //-----------------------------------------------------
 
    void Start()
    {
        audioSource = this.GetComponent<AudioSource>();
 
        canPlayAudio = true;
 
        playingIndex = 0;
    }
 
    //-----------------------------------------------------
 
    void Update()
    {
        if (canPlayAudio)
        {
            PlayAudio();
 
            canPlayAudio = false;
        }
 
        if (!audioSource.isPlaying)
        {
            playingIndex++;
 
            if (playingIndex >= audioGroup.Length)
            {
                playingIndex = 0;
            }
 
            canPlayAudio = true;
        }
    }
 
    //-----------------------------------------------------
 
    private void PlayAudio()
    {
        audioSource.clip = audioGroup[playingIndex];
        audioSource.Play();
    }
 
    //-----------------------------------------------------
}

到此这篇关于Unity常用音频操作类示例代码的文章就介绍到这了,更多相关Unity音频内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • 避免在C#循环中使用await的方法小结

    避免在C#循环中使用await的方法小结

    在C#中,异步编程因其能够提升应用程序性能和响应能力而变得越来越流行,async和await关键字使得编写异步代码变得更加容易,但如果使用不当,它们也可能引入一些陷阱,所以本文我们将探讨为什么应该避免在C#循环中使用await,并讨论一些更高效地处理异步操作的替代方法
    2024-09-09
  • 详解C#编程获取资源文件中图片的方法

    详解C#编程获取资源文件中图片的方法

    这篇文章主要介绍了详解C#编程获取资源文件中图片的方法的相关资料,需要的朋友可以参考下
    2017-06-06
  • C#播放音频文件的详细步骤

    C#播放音频文件的详细步骤

    这篇文章主要介绍了C#播放音频文件的详细步骤,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • C#实现软件监控外部程序运行状态的方法

    C#实现软件监控外部程序运行状态的方法

    这篇文章主要介绍了C#实现软件监控外部程序运行状态的方法,可实现监控另一个程序的运行状态及触发相应事件的功能,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • C#控制台程序如何发布到服务器Linux上运行

    C#控制台程序如何发布到服务器Linux上运行

    这篇文章主要给大家介绍了关于C#控制台程序如何发布到服务器Linux上运行的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-11-11
  • C#实现单例模式的几种方法总结

    C#实现单例模式的几种方法总结

    这篇文章主要介绍了C#实现单例模式的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • C#定义的MP3播放类实例

    C#定义的MP3播放类实例

    这篇文章主要介绍了C#定义的MP3播放类,实例分析了C#操作多媒体音频文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • C# IQueryable及IEnumerable区别解析

    C# IQueryable及IEnumerable区别解析

    这篇文章主要介绍了C# IQueryable及IEnumerable区别解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • C#获取目录最后访问时间的方法

    C#获取目录最后访问时间的方法

    这篇文章主要介绍了C#获取目录最后访问时间的方法,涉及C#中LastAccessTime方法的使用技巧,需要的朋友可以参考下
    2015-04-04
  • C# 如何使用 Index 和 Range 简化集合操作

    C# 如何使用 Index 和 Range 简化集合操作

    这篇文章主要介绍了C# 如何使用 Index 和 Range 简化集合操作,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-02-02

最新评论