Unity常用音頻操作類示例代碼
更新時(shí)間:2021年07月21日 11:31:55 作者:小白工作室
這篇文章主要介紹了Unity常用音頻操作類,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
下面通過代碼給大家介紹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>
/// 播放某個(gè)音頻
/// </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>
/// 停止播放某個(gè)音頻
/// </summary>
/// <param name="i"></param>
public void StopplayOne(int i)
{
FCAudio.clip = FuChuAudio[i];
FCAudio.Stop();
}
/// <summary>
/// 循環(huán)播放某個(gè)音頻
/// </summary>
/// <param name="i"></param>
public void playLoop(int i)
{
FCAudio.clip = FuChuAudio[i];
FCAudio.loop = true;//設(shè)置聲音為循環(huán)播放 ;
FCAudio.Play();
}
}
/***將這個(gè)腳本掛載到一個(gè)空物體上,并且給它添加 AudioSource 組件*/using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 控制所有音樂的管理類
/// </summary>
public class AudioManager : MonoBehaviour
{
//將要輪流播放的音樂組
public AudioClip[] audioGroup;
//當(dāng)前播放的是誰
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();
}
//-----------------------------------------------------
}
到此這篇關(guān)于Unity常用音頻操作類示例代碼的文章就介紹到這了,更多相關(guān)Unity音頻內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
相關(guān)文章
避免在C#循環(huán)中使用await的方法小結(jié)
在C#中,異步編程因其能夠提升應(yīng)用程序性能和響應(yīng)能力而變得越來越流行,async和await關(guān)鍵字使得編寫異步代碼變得更加容易,但如果使用不當(dāng),它們也可能引入一些陷阱,所以本文我們將探討為什么應(yīng)該避免在C#循環(huán)中使用await,并討論一些更高效地處理異步操作的替代方法2024-09-09
C#實(shí)現(xiàn)軟件監(jiān)控外部程序運(yùn)行狀態(tài)的方法
這篇文章主要介紹了C#實(shí)現(xiàn)軟件監(jiān)控外部程序運(yùn)行狀態(tài)的方法,可實(shí)現(xiàn)監(jiān)控另一個(gè)程序的運(yùn)行狀態(tài)及觸發(fā)相應(yīng)事件的功能,是非常實(shí)用的技巧,需要的朋友可以參考下2014-12-12
C#控制臺程序如何發(fā)布到服務(wù)器Linux上運(yùn)行
這篇文章主要給大家介紹了關(guān)于C#控制臺程序如何發(fā)布到服務(wù)器Linux上運(yùn)行的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-11-11
C#實(shí)現(xiàn)單例模式的幾種方法總結(jié)
這篇文章主要介紹了C#實(shí)現(xiàn)單例模式的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
C# IQueryable及IEnumerable區(qū)別解析
這篇文章主要介紹了C# IQueryable及IEnumerable區(qū)別解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09

