Unity常用音頻操作類示例代碼
下面通過(guò)代碼給大家介紹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>
/// 控制所有音樂(lè)的管理類
/// </summary>
public class AudioManager : MonoBehaviour
{
//將要輪流播放的音樂(lè)組
public AudioClip[] audioGroup;
//當(dāng)前播放的是誰(shuí)
private int playingIndex;
//是否允許播放音樂(lè)
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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用?FieldMask?提高?C#?gRpc?的服務(wù)性能
這篇文章主要介紹了用?FieldMask?提高?C#?gRpc?的服務(wù)性能,FieldMask?是一個(gè)?protobuf?消息,包含一個(gè)名為?paths?的字段,用于指定用于指定讀取操作返回或更新操作修改的字,下文詳細(xì)內(nèi)容,需要的朋友可以參考一下2022-03-03
C# Winform使用擴(kuò)展方法實(shí)現(xiàn)自定義富文本框(RichTextBox)字體顏色
這篇文章主要介紹了C# Winform使用擴(kuò)展方法實(shí)現(xiàn)自定義富文本框(RichTextBox)字體顏色,通過(guò).NET的靜態(tài)擴(kuò)展方法來(lái)改變RichTextBox字體顏色,需要的朋友可以參考下2015-06-06
C#開(kāi)發(fā)Winform實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這篇文章介紹了C#開(kāi)發(fā)Winform實(shí)現(xiàn)學(xué)生管理系統(tǒng)的項(xiàng)目案例,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
C#使用Lazy實(shí)現(xiàn)延遲加載的方法示例
在C#中,Lazy< T> 類是一個(gè)非常有用的工具,它可以用于延遲加載值,在本文中,我們將詳細(xì)介紹 Lazy< T> 的實(shí)現(xiàn)機(jī)制和用法,并提供一些示例來(lái)展示它的優(yōu)勢(shì),文中通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下2024-06-06
C# 打印網(wǎng)頁(yè)不顯示頁(yè)眉頁(yè)腳的實(shí)現(xiàn)方法
這篇文章主要介紹了C# 打印網(wǎng)頁(yè)不顯示頁(yè)眉頁(yè)腳的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
C# DataTable中查詢指定字段名稱的數(shù)據(jù)
這篇文章主要介紹了C# DataTable中查詢指定字段名稱的數(shù)據(jù),本文直接給出實(shí)例代碼,簡(jiǎn)單易懂,需要的朋友可以參考下2015-06-06
C#實(shí)現(xiàn)基于鏈表的內(nèi)存記事本實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)基于鏈表的內(nèi)存記事本,實(shí)例分析了C#基于鏈表實(shí)現(xiàn)的記事本功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07

