Unity3D的全局音频管理
来源:互联网 发布:生死狙击m1911伤害数据 编辑:程序博客网 时间:2024/05/22 00:42
using UnityEngine;using System.Collections;using System.Collections.Generic;public class AudioController : MonoBehaviour{ public static AudioController instance; private Dictionary<string, AudioClip> audioDict = new Dictionary<string, AudioClip>(); public AudioClip[] audioClipArray; [HideInInspector] public AudioSource musicSource; [HideInInspector] public AudioSource soundfxSource; [HideInInspector] public AudioSource loopSource; string lastName; void Awake() { instance = this; musicSource = gameObject.AddComponent<AudioSource>(); musicSource.volume = 1; musicSource.loop = false; soundfxSource = gameObject.AddComponent<AudioSource>(); soundfxSource.loop = false; soundfxSource.volume = 0.7f; loopSource = gameObject.AddComponent<AudioSource>(); loopSource.loop = true; loopSource.volume = 0.7f; foreach (AudioClip ac in audioClipArray) { if (audioDict.ContainsKey(ac.name)==false) { audioDict.Add(ac.name, ac); } } } // Use this for initialization public void Play(string audioName) { lastName = audioName; AudioClip ac; if (audioDict.TryGetValue(audioName, out ac)) { musicSource.clip = ac; if (!musicSource.isPlaying) musicSource.Play(); } } public void StopFX() { if (soundfxSource != null) { soundfxSource.Stop(); soundfxSource.clip = null; } } public void Stop() { if (musicSource != null) { musicSource.Stop(); musicSource.clip = null; } } public void PlayFX(string audioName) { AudioClip clip; if (audioDict.TryGetValue(audioName, out clip)) { soundfxSource.clip = clip; soundfxSource.Play(); } } public void PlayLoop(string audioName) { AudioClip clip; if (audioDict.TryGetValue(audioName, out clip)) { loopSource.clip = clip; loopSource.Play(); } } public void StopLoop() { if (loopSource != null) { loopSource.clip = null; loopSource.Stop(); } } public void StopAll() { if (musicSource != null) { musicSource.Stop(); musicSource.clip = null; } if (soundfxSource != null) { soundfxSource.Stop(); soundfxSource.clip = null; } if (loopSource != null) { loopSource.clip = null; loopSource.Stop(); } }}
阅读全文
0 0
- Unity3D的全局音频管理
- 用于Unity3D项目的简单音频管理代码AudioManager
- Unity3D音频的制作
- Unity3D的音频添加
- unity3d AudioToolKit 音频管理插件使用方法
- 【Unity3D游戏开发】之全局管理类的几种方式 (十六)
- 全局的更新管理
- 全局的activity管理
- 简单的音频管理
- Unity3D播放音频数组的问题
- unity3d项目的svn管理
- Unity3D 全局脚本
- Unity3d中插入音频
- Unity3d学习之音频
- unity3D 音频播放
- UNITY3D音频管理器
- Unity3D类分析——全局的类分析
- Unity3D 游戏引擎之详解游戏开发音频的播放
- C 语言 printf 用法
- pydot 安装 用于caffe画图
- DotNetCore跨平台~2.0提前发布喽
- 大数据Spark企业级实战版【学习笔记】----Spark技术生态系统之Spark Core
- apache配置多站点
- Unity3D的全局音频管理
- c字符串、string对象、字符串字面值的区别
- 二叉树的遍历及其用途
- 剑指OOOOO
- 【C系列】一个C++的粒子群(PSO)算法实现
- 欢迎使用CSDN-markdown编辑器
- BFS之01迷宫之醉了又醉
- 剑指offer-正则表达式匹配
- hdu-2142(扩展欧几里得解不定方程)