Unity 3D开发--音频管理

news/2024/11/16 19:46:17/

接手了前同事们的一个元宇宙的项目,里面有各楼层不同的背景音乐,人物的一些动作音效,一些书籍音频,语音问答,投屏语音通信,靠近播放视频等,需要对音频做各种播放、暂停、切换、停止等操作,但原代码没有对音频没有进行统一管理,散落在脚本各处,难以维护,就写一个统一的管理框架。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class WAudioManager : MonoBehaviour
{public static WAudioManager Instance;//...... 可以继续根据需求添加AudioSource,多的话也可以用数组管理....... public  AudioSource bgAudioResource; //背景音乐public  AudioSource effectAudioResource;//音效public  AudioSource bookAudioResource; //听书private void Awake(){if (Instance == null){Instance = this;}else{Destroy(gameObject);}}/// <summary>/// 播放背景音乐/// </summary>/// <param name="clip"></param>public void PlayBackgroundAudio(AudioClip clip){if (clip!=null && bgAudioResource.clip != clip){bgAudioResource.loop = true;bgAudioResource.clip = clip;bgAudioResource.Play();}}/// <summary>/// 设置音量/// </summary>/// <param name="volume"></param>public void SetBackgroundAudioVolume(float volume){bgAudioResource.volume = volume;}public void PauseBackgroundAudio(){bgAudioResource.Pause();}public void UnPauseBackgroundAudio(){bgAudioResource.UnPause();}public void StopBackgroundAudio(){bgAudioResource.Stop();}/// <summary>/// 播放音效/// </summary>/// <param name="clip"></param>public void PlayEffectAudio(AudioClip clip){if (clip != null){effectAudioResource.clip = clip;effectAudioResource.Play();}}/// <summary>/// 设置音效音量/// </summary>/// <param name="volume"></param>public void SetEffectAudioVolume(float volume){effectAudioResource.volume = volume;}public void PauseEffectAudio(){effectAudioResource.Pause();}public void UnPauseEffectAudio(){effectAudioResource.UnPause();}public void StopEffectAudio(){effectAudioResource.Stop();}}


http://www.ppmy.cn/news/578589.html

相关文章

服务全球开发者!灵雀云与Ubuntu推出一体化云原生解决方案

近日&#xff0c;国内企业级云原生解决方案的领军企业灵雀云&#xff0c;与操作系统软件Ubuntu的原厂企业Canonical&#xff08;以下简称Ubuntu&#xff09;共同宣布达成战略合作。双方将提供操作系统软件Ubuntu与云原生开放平台ACP的深度融合一体化解决方案&#xff0c;为开发…

U3D游戏开发框架(四)——音频管理器

一&#xff1a;目的 游戏音频的播放在任何游戏中都占据非常重要的地位&#xff0c;音频的播放可以分为两种&#xff0c;一种为游戏音乐&#xff0c;另一种为游戏音效。前者适用于较长的音乐&#xff0c;如游戏背景音乐。第二种适用于比较短的游戏音乐&#xff0c;如开枪瞬间的…

【7. 无源演奏音乐】

无源演奏音乐 树梅派无源蜂鸣器C调音符与频率对照表 树梅派无源蜂鸣器 /**************************************** 时间&#xff1a;* 内容&#xff1a;无源蜂鸣器演奏&#xff0c;简单版****************************************/#include<wiringPi.h> #include<s…

Unity3d--基于对象池优化思想的音频管理系统

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Resource文件夹下的音效片段目录二、采用单例模式作为全局访问方式三、音效类型分类四、播放音效的组件池的数据对象五、播放时的参数封装六、音效播放管理…

游戏引擎基础(六)(声音系统,音频APIs)

第6部分: 声音系统&#xff0c;音频APIs声音系统  由于人们玩的游戏在种类和技术上的进步&#xff0c;声音和音乐近几年来在游戏中正逐渐变得重要起来&#xff08;声音是一个实际游戏的可玩特点&#xff0c;比如在Thief和其它同类游戏中的听觉提示&#xff09;。现在四声道环…

空间音频 2

13&#xff5c;如何利用HRTF实现听音辨位&#xff1f; 之前介绍了空间音频的基本概念&#xff0c;以及空间音频是如何采集和播放的。已经基本掌握了空间音频的基本原理。其实在游戏、社交、影视等场景中&#xff0c;空间音频被广泛地应用于构建虚拟的空间环境。 在空间音频的…

house的项目2天总结

uni-house-day01 项目功能点 首页 轮播图 ui-app的轮播组件ui框架的轮播组件【更简单】 图标&#xff08;ui框架布局&#xff09;猜你喜欢 触底加载 【重点】 城市选择页面 【重点】 渲染这个页面&#xff0c;你需要什么数据。把后端的数据转换成自己的数据【前端开发必备的…

Flink基础概念及常识

1.flink入门 官方定义&#xff1a;Apache Flink是一个框架和分布式处理引擎&#xff0c;用于在无边界和有边界数据流上进行有状态的计算&#xff0c;Flink能在所有常见集群环境中运行&#xff0c;并能以内存速度和任意规模进行计算。 简言之&#xff0c;Flink是一个分布式的计…