unity3D 音频播放
发布日期:2021-06-30 19:38:02
浏览次数:3
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月10日 08时35分07秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
UGC 用户产生内容
2019-04-30
ranger
2019-04-30
slurm
2019-04-30
xfce4
2019-04-30
xrdp
2019-04-30
Raft算法
2019-04-30
Python计算文本BLEU分数
2019-04-30
swap内存(linux)
2019-04-30
人脸au
2019-04-30
torch.distributed 分布式
2019-04-30
OpenMP编程模型(OMP)
2019-04-30
混合精度训练(FP16 & FP32)
2019-04-30
PyPy
2019-04-30
打印CSDN文章
2019-04-30
MATLAB与CUDA
2019-04-30
Linux png转jpg (convert命令)
2019-04-30
NAS (Network Attached Storage 网络附属存储)
2019-04-30
Ubuntu更新后终端中字体的颜色全是白色
2019-04-30
Ninja
2019-04-30
opencv相关操作(cv2) (python)
2019-04-30