音乐播放器的实现(五)—— 音量的加减和静音

传送门:
音乐播放器的实现(一)—— Audio Listener和Audio Source面板的介绍
音乐播放器的实现(二)—— UI面板的制作
音乐播放器的实现(三)—— 进度条控制、播放、暂停、上(下)一曲、播放时间和总时间显示
音乐播放器的实现(四)—— 歌曲列表、顺序播放、单曲循环、随机播放、自动下一曲
前言
这篇我们加入音量控制键,可以改变音量的大小,实现静音和非静音的切换。(完整工程见篇尾)
一、UI面板的制作
1、新建一个按钮、一个Slider和一个Text,调整好大小和位置,具体命名如下图,把Text文本框放置Slider下,使之成为Slider的一级子节点。

2、准备两张图片,用来做静音切换的显示。

二、核心代码
初始化相关控件和变量,主要运用Audio SourceMute(静音)和Volume(音量)。Mute为false时,静音关闭,为true时,静音打开。Volume的值在0~1,0为声音最小,1为声音最大。通过改变这两个的参数和状态,来实现静音和音量控制。

    private GameObject vioce_butt, voice_text, voice_slid;          //音量按钮、音量数字、音量进度条int clickNum=0,value;//变量
 void initVoice()//初始化{vioce_butt = GameObject.Find("voice_button");voice_text = GameObject.Find("voice_text");voice_slid = GameObject.Find("voice_slider");//voice_slid.SetActive(false);                 //开始时声音进度条不显示(当鼠标放在音量按钮上时显示)voice_slid.GetComponent<Slider>().value = 20;//开始声音为20;//开始先调用一次,设置初始的音量大小voice();//给进度条添加监听,进度条的值改变即调用voice()方法voice_slid.GetComponent<Slider>().onValueChanged.AddListener(delegate { voice(); });//给声音按钮添加监听vioce_butt.GetComponent<Button>().onClick.AddListener(delegate{clickNum++;//点击按钮的次数if(clickNum==1)//1为打开静音,0为关闭静音{//打开音频播放器的静音aus.mute = true;//上传对应的静音的图片vioce_butt.GetComponent<Image>().sprite = Resources.Load<Sprite>("Sprite/voiceMute");//存下点击静音时的进度条的值value = (int)voice_slid.GetComponent<Slider>().value;//进度条的value值为0voice_slid.GetComponent<Slider>().value = 0;}else{//关闭音频播放器的静音aus.mute = false;//上传对应的不静音的图片vioce_butt.GetComponent<Image>().sprite = Resources.Load<Sprite>("Sprite/voice1");//进度条的值变为关闭静音前的值voice_slid.GetComponent<Slider>().value = value;//初始化点击次数clickNum = 0;}});}

声音的大小,和显示声音的大小

     void voice(){//把进度条最大值改为100,最小值为0//音频播放器的音量volume = 进度条的值 * 0.01f。(因为volume的范围为:0~1)aus.volume = voice_slid.GetComponent<Slider>().value * 0.01f;//音量的文本显示(为进度条的value值,value值是浮点型,这里显示成整型)voice_text.GetComponent<Text>().text = ((int)voice_slid.GetComponent<Slider>().value).ToString();}

三、最终效果

代码备注的也比较详细,若文中存在错误或者描述不清的地方也请指正,欢迎评论区留言共同探讨,以上。

四、整个工程链接(分辨率800X500,自己切换一下)
链接: https://pan.baidu.com/s/1i2qyprBLbCU3bgj6G0oLqA
提取码: fvxq

音乐播放器的实现(五)—— 音量的加减和静音相关推荐

  1. java实现音乐播放器(调整显示音量大小、调整进度、图片切换)

    上学期老师布置了一个音乐播放器的作业,自己独立写的界面感觉还行就传上来了. package Music;import javax.sound.sampled.*; import java.io.*;i ...

  2. Android开发本地及网络Mp3音乐播放器(十八)新下载歌曲加载准备SdcardSearchToList

    转载请注明出处: http://blog.csdn.net/iwanghang/article/details/51395664 觉得博文有用,请点赞,请留言,请关注,谢谢!~ 扫描本地文件加载到it ...

  3. 音乐播放器的实现(四)—— 歌曲列表、顺序播放、单曲循环、随机播放、自动下一曲

    音乐播放器的实现(四)-- 歌曲列表.顺序播放.单曲循环.随机播放.自动下一曲 传送门:(完整工程见第五章篇尾) 音乐播放器的实现(一)-- Audio Listener和Audio Source面板 ...

  4. 音乐播放器的实现(三)---进度条控制、播放、暂停、上(下)一曲、播放时间和总时间显示

    音乐播放器的实现(三)---进度条控制.播放.暂停.上(下)一曲.播放时间和总时间显示 传送门:(完整工程见第五章篇尾) 音乐播放器的实现(一)-- Audio Listener和Audio Sour ...

  5. 音乐播放器的实现(二)---UI面板的制作

    音乐播放器的实现(二)---UI面板的制作 传送门:(完整工程见第五章篇尾) 音乐播放器的实现(一)-- Audio Listener和Audio Source面板的介绍 音乐播放器的实现(三)--- ...

  6. 我的音乐(Musicoco)- 本地音乐播放器开发总结

    开源一个功能相对齐全的本地音乐播放器 简述 从五月末就开始利用空余时间开发这款 app ,不知不觉三个月过去了. App 名称:我的音乐,我给取了个别名:Musicoco. Android 手机本地音 ...

  7. Android开发本地及网络Mp3音乐播放器(二十)歌曲下载完成后通知主界面更新本地音乐

    转载请注明出处:http://blog.csdn.net/iwanghang/article/details/51448597 项目源码(打赏5积分请点这边):http://download.csdn ...

  8. QT 基于 百度云语音识别, 基于网易API 接口的歌曲查询,的音乐播放器。

    1.成果展示: 2.界面操作提示 1.  2种方法把歌曲加入列表, 第一种加入本地资源,第二种 加入网上搜索的歌曲 2.  加入本地资源,点击图片  +  ,然后再本地资源里面添加歌曲 3.  网上搜 ...

  9. Android开发本地及网络Mp3音乐播放器(十二)创建NetMusicListAdapter、SearchResult显示网络音乐列表

    转载请注明出处:http://blog.csdn.net/iwanghang/article/details/51290181 觉得博文有用,请点赞,请留言,请关注,谢谢!~ 实现功能: 实现NetM ...

最新文章

  1. Mozilla开源了VR框架A-Frame
  2. 中国科学院、东南大学等联合发表最新的视觉 Transformer 综述
  3. 管理云栈将会胜出吗?
  4. 模拟操作系统动态内存管理(c实现)
  5. 俄罗斯最大搜索引擎Yandex开源了一款梯度提升机器学习库CatBoost
  6. HTTP缓存原理介绍
  7. java常见的gc回收器_一篇文章让你了解GC垃圾回收器
  8. 关于ugc的一点思考
  9. IT加速营-关于java开发,测试及职业规划的公众号
  10. 七本前端(javascript、css)最著名工具书免费下载
  11. OpenCMS 11 (一)安装配置
  12. 2017北航计算机系学硕最低录取分,2018北航计算机考研初试经验帖
  13. (一)外显子组数据分析之软件安装大全
  14. 如何查看电脑连接过的WiFi密码
  15. 【RK2206】3. 处理迪文屏事件
  16. dw里PHP编写格式,Dreamweaver中如何使用模板(附代码)
  17. google scholar 使用不了的问题——已解决
  18. 网络嗅探器(影音神探) 4.73
  19. Reporter对象的几个鲜为人知的方法
  20. Linux mkdir、touch、mv、cp等命令的介绍与使用

热门文章

  1. 2019级软件工程应用与实践-人工智能快递柜(代码分析2)
  2. Rk3288w Android 8.1 记录系统运行总时间
  3. 关于js控制元素的隐藏和显示
  4. numa balance实现浅析
  5. C++宽字符类型wchar_t
  6. 达人评测锐龙r5 6600h和i7 12700h选哪个
  7. 杂谈——探秘字节流与字符流
  8. java 中的转义问题
  9. 干掉 Warnings(洁癖篇)
  10. “避坑”测试面试最金典的问题“5个”