Unity全局音量控制以及音量信息存储在本地
Unity全局音量控制以及音量信息存储在本地
一个简单的全局音量控制功能,主要实现进入游戏音量同步以前的设置,点击设置弹出设置窗口,点击小喇叭禁用\开启音量,移动滑动条调节音量大小。
一、进入游戏时设置音量
//设置声音if (PlayerPrefs.GetString(Const.IsOnVolume) == "") {PlayerPrefs.SetString(Const.IsOnVolume, "true");PlayerPrefs.Save();}if (PlayerPrefs.GetString(Const.IsOnVolume) == "true") {AudioListener.volume = PlayerPrefs.GetFloat(Const.Volume);}if (PlayerPrefs.GetString(Const.IsOnVolume) == "false") {AudioListener.volume = 0f;}
这里Const是自定义的常量类,也可以直接用一个字符串。
二、设置界面的脚本
变量
//音量按钮private Button _volumeBtn;//音量滑动条private Slider _volumeSlider;
打开设置界面执行的操作
//寻找组件_closeBtn = skin.transform.Find("CloseBtn").GetComponent<Button>();_quitBtn = skin.transform.Find("QuitBtn").GetComponent<Button>();_volumeBtn = skin.transform.Find("VolumePanel").Find("VolumeBtn").GetComponent<Button>();_volumeSlider = skin.transform.Find("VolumePanel").Find("VolumeSlider").GetComponent<Slider>();//监听_volumeBtn.onClick.AddListener(OnVolumeClick);_volumeSlider.onValueChanged.AddListener(OnVolumeValueChanged);_closeBtn.onClick.AddListener(OnCloseClick);_quitBtn.onClick.AddListener(OnQiutClick);//初始化音量控制条及小喇叭颜色string isOnVolume = PlayerPrefs.GetString(Const.IsOnVolume);_volumeSlider.value = PlayerPrefs.GetFloat(Const.Volume);PlayerPrefs.SetString(Const.IsOnVolume, isOnVolume);PlayerPrefs.Save();if (PlayerPrefs.GetString(Const.IsOnVolume) == "true") {AudioListener.volume = PlayerPrefs.GetFloat(Const.Volume);_volumeBtn.GetComponent<Image>().color = Color.green;}if (PlayerPrefs.GetString(Const.IsOnVolume) == "false") {AudioListener.volume = 0f;_volumeBtn.GetComponent<Image>().color = Color.gray;}
音量按钮和音量滑动条事件
//声音滑动条滑动private void OnVolumeValueChanged(float value) {PlayerPrefs.SetFloat(Const.Volume, value);AudioListener.volume = value;PlayerPrefs.SetString(Const.IsOnVolume, "true");PlayerPrefs.Save();_volumeBtn.GetComponent<Image>().color = Color.green;}//声音按钮点击private void OnVolumeClick() {if (PlayerPrefs.GetString(Const.IsOnVolume) == "true") {PlayerPrefs.SetString(Const.IsOnVolume, "false");PlayerPrefs.Save();AudioListener.volume = 0;_volumeBtn.GetComponent<Image>().color = Color.gray;return;}if (PlayerPrefs.GetString(Const.IsOnVolume) == "false") {PlayerPrefs.SetString(Const.IsOnVolume, "true");PlayerPrefs.Save();AudioListener.volume = _volumeSlider.value;_volumeBtn.GetComponent<Image>().color = Color.green;return;}}
因为没有小喇叭被叉的图片,用灰绿两种颜色代替开启\未开启音量的状态。
Unity全局音量控制以及音量信息存储在本地相关推荐
- [Unity 3D] 使用Audio Mixer分别控制主音量、背景音乐和其他音效
前言 在游戏中,通常我们需要控制整个游戏的主音量(全局音量),并且单独控制背景音乐和其他音效(攻击.爆炸之类)的音量,这时我们可以用Audio Mixer来解决. 如果文章中有哪些地方写的不对, 欢迎 ...
- unity全局音量管理/全局音量设置与音量设置界面(含静音功能)
前言 本文将会介绍如何使用audiomixer实现全局音量控制,并且会介绍如何实现游戏内的含静音功能的音量设置界面. 本人也是个初学者,在看过一些关于音量管理的教程后,发现使用audiomixer实现 ...
- 设置KMPlayer的音量控制的快捷键
▌01 音频播放器 在 TEASOFT教学软件 中需要控制背景音乐的播放.利用 KMPlayer 进行播放进行同步录制.为了使用TEASOFT对于音乐的控制,需要通过TEASOFT的UDP命令对KMP ...
- 音效管理android,Android之声音管理器《AudioManager》的使用以及音量控制
以下为网上下载然后拼接-- Android声音管理AudioManager使用 手机都有声音模式,声音.静音还有震动,甚至震动加声音兼备,这些都是手机的基本功能.在Android手机中,我们同样可以通 ...
- 在 unity中可以使用的直接设置音量大小的方法
参考网址 在unity中很多的音量控制dll都没有办法使用,调用"user.dll"话只是模拟电脑的快捷键,而且不能够直接设置对应的数值. 需要使用C++创建Dll 生成C++ d ...
- Android 音量控制流程分析
在Android平台上,音量键,主页键(home),都是全局按键,但是主页键是个例外不能被应用所捕获.下面分析一下音量按键的流程,主要从framework层处理开始,至于 EventHub 从驱动的/ ...
- Android音量控制
0. Thanks To Android音量控制调节 android 音量控制setVolumeControlStream android 音量调节以及媒体音量界面 1. 音量调节 我们知道,在平常调 ...
- Vue3+TypeScript实现网易云音乐WebApp(播放界面:播放、暂停、音量控制、播放进度控制(点击/拖拽进度条)、上一首、下一首)
1. 成果展示 真实接口地址 本项目使用的是真实线上的网易云API 线上演示地址 目前只做了每日推荐(需登录)以及排行榜功能,点个star吧大佬们! 项目GitHub地址 main分支是Vue3+Ty ...
- Android音量控制曲线
摘要:本文介绍了android音量的控制曲线的计算方法. 由于人耳对声音的听感具指数曲线型,也就是对小音量时比较敏感,随着声音的加大其听感随之变的不敏感,其变化近似指数函数曲线的形式.为了使听感变的近 ...
最新文章
- Python的控制语句2
- ASP.NET XML读取、增加、修改和删除操作
- 时间同步引起的oracle故障二
- 几种常见的用于拟合的分布
- Android开发之WebView加载html数据去除Webview滚动条的方法
- Mysql安装及自动化部署脚本方案
- docker mysql数据库初始化_如何在Mysql的Docker容器启动时初始化数据库
- 浅谈Node.js(概念、安装、入门例子)
- enityframework 已连接的当前状态为打开。_关于性能优化 从tcp建立连接amp;断开的视角...
- poj 3979 分数加减法
- Android开发笔记(一百二十二)循环器视图RecyclerView
- GO语言学习之路18
- c++输入回车结束循环,C++ cin如何输入回车停止
- 2003服务器系统驱动精灵,万能驱动助理 e驱动 6.1.2014.0516 for XP/win2003 32位专版
- 大学生转入计算机专业申请书,计算机系大学生助学金申请书1000字
- Orge配置Debug - 在Mac上利用Homebrew安装指定版本的Cmake
- 电路基础-交流电-正弦量和相量
- MATLAB之自动控制原理(1)
- 云片 php sms接口视频,Laravel、云片网络短信发送PHP SDK
- Python基础知识:def创建函数
热门文章
- 想做程序员?弄明白这些问题,你会少走很多弯路
- 计算机桌面上字太宽怎么办,电脑屏幕字体怎么变大_电脑字体变大如何调-win7之家...
- keil如何添加STM32系列
- web前端开发技术实验与实践(第三版)储久良编著 项目12 设计简易网站导航
- Win2003 Enterprise x64 Edition漏洞下载地址
- 王晋康 - 养蜂人·王晋康科幻小说精选集1(2014年2月4日)
- Assembly x64 Intro - XMM ABS
- Echarts迁徙图
- 中国大学MOOC毕业生就业指导考试试题(含答案)
- centos下如何查看磁盘使用情况命令