unity3D 音频播放
发布日期:2021-06-30 19:38:02
浏览次数:4
分类:技术文章
本文共 2266 字,大约阅读时间需要 7 分钟。
为了方便管理,做一个音频管理器
简单代码如下,根据需要进行拓展,主要是说明方法
using UnityEngine;using System.Collections;public class AudioManager { public void Init() { m_audioContainer = new GameObject("audioContainer"); } public void PlayAudio(string audioName, bool loop = false, int frequency = 1) { if (m_audioContainer == null) Init(); GameObject audioObj = new GameObject(audioName); audioObj.transform.parent = m_audioContainer.transform; AudioSource source = audioObj.AddComponent其中DestroyselfByTime脚本如下(); source.playOnAwake = false; source.Stop(); source.clip = GlobalResource.m_audioClip; //此处可做成配置,根据audioName去查找音频资源// source.loop = loop; source.volume = 1; //音量// if (!loop) { DestroyselfByTime destroySelf = source.gameObject.AddComponent (); destroySelf.LimitTime = frequency * source.clip.length; } source.Play(); } private GameObject m_audioContainer; //音效父节点// private static AudioManager s_instance; private static readonly byte[] c_staticLocker = new byte[0]; public static AudioManager Instance { get { if (s_instance == null) { lock (c_staticLocker) { s_instance = new AudioManager(); } } return s_instance; } }}
using UnityEngine;using System.Collections;public class DestroyselfByTime : MonoBehaviour { public delegate void OnFinished(GameObject target); void Start () { m_runTime = 0; } void Update () { m_runTime += Time.deltaTime; if (m_runTime > m_limitTime) { if (OnFinishedCallBack != null) OnFinishedCallBack(gameObject); if (gameObject != null) Destroy(gameObject); } } public OnFinished OnFinishedCallBack; public float LimitTime { get { return m_limitTime; } set { m_limitTime = value; } } private float m_limitTime; private float m_runTime=0;}音效资源
GlobalResource.m_audioClip = Resources.Load("sound/dd",typeof(AudioClip)) as AudioClip;最好做成配置的,名称,音量,是否循环等等,在管理里面用容器存起来并标明状态:None,Loading,Playing,Stop,Free等
转载地址:https://linxinfa.blog.csdn.net/article/details/46507483 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月19日 10时15分40秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
区块链+人工智能,新经济的DNA
2019-04-30
2018年2月份GitHub上最热门的Python项目:深度学习占半壁江山
2019-04-30
学会这10种机器学习算法你才算入门
2019-04-30
15 个有意思的 JavaScript 和 CSS 库推荐! 你用过几个?
2019-04-30
技术分享 | mongo 集群连接数暴涨处理案例一则
2019-04-30
技术分享 | MySQL 会受到“Unix千年虫“的影响吗
2019-04-30
第30期:索引设计(全文索引中文处理)
2019-04-30
第40问:对进行中的 DDL 进行 kill , 到底多久能响应
2019-04-30
第41问:组提交是怎样提高性能的
2019-04-30
彻底讲懂Spring singletonBean循环依赖与三级缓存
2019-04-30
CSDN文章复制
2019-04-30
【强烈推荐】Java设计模式:怒肝代理模式,可真把我榨干了!
2019-04-30
双十一最完整记录!阿里、京东全部都有
2019-04-30
为什么说,随波逐流是成为一个数据科学英雄最大的阻碍
2019-04-30
如何度过人生艰难:魔都28岁硬核知识型美少女自救指南
2019-04-30
淘宝总裁蒋凡:今年双11淘宝推荐流量超过了搜索流量
2019-04-30
为什么一些创立才2、3年的创新公司,不赚钱却可以赴美上市?
2019-04-30
互联网大佬都是怎么找对象的?
2019-04-30
大数据之下无隐私
2019-04-30
黄仁勋:英伟达豪赌GPU终获回报,但我更看好高性能计算
2019-04-30