Unity3D播放音乐还算挺方便的。
主要要用到三个类:
每个场景都只能有一个AudioListener,多于1个就会提示错误。
现在遇到的情况是,想要多个场景共享一个背景音乐。
写了一个单例用来管理音乐:
using UnityEngine; using System.Collections; public class AudioManager : MonoBehaviour { private static AudioManager instance = null; public AudioSource audioMgr; private AudioClip ac; private string curMusicName = ""; public static AudioManager Instance { get { return instance; } } void Awake() { if (instance != null && instance != this) { Destroy(this.gameObject); } else { instance = this; } DontDestroyOnLoad(this.gameObject); } public void Play(string fileName) { if (!fileName.Equals(curMusicName)) { ac = Resources.Load("Audio/"+fileName) as AudioClip; audioMgr.clip = ac; audioMgr.Play(); curMusicName = fileName; } } public void Stop() { audioMgr.Stop(); curMusicName = ""; Debug.Log("Stop background music"); } }
圣典上有个插件:
http://game.ceeger.com/forum/read.php?tid=789
我没用过,有兴趣的可以试一下。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 开发的设计和重构,为开发效率服务
· 从零开始开发一个 MCP Server!
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· Ai满嘴顺口溜,想考研?浪费我几个小时