音乐播放器的实现(五)—— 音量的加减和静音
音乐播放器的实现(五)—— 音量的加减和静音
传送门:
音乐播放器的实现(一)—— Audio Listener和Audio Source面板的介绍
音乐播放器的实现(二)—— UI面板的制作
音乐播放器的实现(三)—— 进度条控制、播放、暂停、上(下)一曲、播放时间和总时间显示
音乐播放器的实现(四)—— 歌曲列表、顺序播放、单曲循环、随机播放、自动下一曲
前言
这篇我们加入音量控制键,可以改变音量的大小,实现静音和非静音的切换。(完整工程见篇尾)
一、UI面板的制作
1、新建一个按钮、一个Slider和一个Text,调整好大小和位置,具体命名如下图,把Text文本框放置Slider下,使之成为Slider的一级子节点。
2、准备两张图片,用来做静音切换的显示。
二、核心代码
初始化相关控件和变量,主要运用Audio Source的Mute(静音)和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
音乐播放器的实现(五)—— 音量的加减和静音相关推荐
- java实现音乐播放器(调整显示音量大小、调整进度、图片切换)
上学期老师布置了一个音乐播放器的作业,自己独立写的界面感觉还行就传上来了. package Music;import javax.sound.sampled.*; import java.io.*;i ...
- Android开发本地及网络Mp3音乐播放器(十八)新下载歌曲加载准备SdcardSearchToList
转载请注明出处: http://blog.csdn.net/iwanghang/article/details/51395664 觉得博文有用,请点赞,请留言,请关注,谢谢!~ 扫描本地文件加载到it ...
- 音乐播放器的实现(四)—— 歌曲列表、顺序播放、单曲循环、随机播放、自动下一曲
音乐播放器的实现(四)-- 歌曲列表.顺序播放.单曲循环.随机播放.自动下一曲 传送门:(完整工程见第五章篇尾) 音乐播放器的实现(一)-- Audio Listener和Audio Source面板 ...
- 音乐播放器的实现(三)---进度条控制、播放、暂停、上(下)一曲、播放时间和总时间显示
音乐播放器的实现(三)---进度条控制.播放.暂停.上(下)一曲.播放时间和总时间显示 传送门:(完整工程见第五章篇尾) 音乐播放器的实现(一)-- Audio Listener和Audio Sour ...
- 音乐播放器的实现(二)---UI面板的制作
音乐播放器的实现(二)---UI面板的制作 传送门:(完整工程见第五章篇尾) 音乐播放器的实现(一)-- Audio Listener和Audio Source面板的介绍 音乐播放器的实现(三)--- ...
- 我的音乐(Musicoco)- 本地音乐播放器开发总结
开源一个功能相对齐全的本地音乐播放器 简述 从五月末就开始利用空余时间开发这款 app ,不知不觉三个月过去了. App 名称:我的音乐,我给取了个别名:Musicoco. Android 手机本地音 ...
- Android开发本地及网络Mp3音乐播放器(二十)歌曲下载完成后通知主界面更新本地音乐
转载请注明出处:http://blog.csdn.net/iwanghang/article/details/51448597 项目源码(打赏5积分请点这边):http://download.csdn ...
- QT 基于 百度云语音识别, 基于网易API 接口的歌曲查询,的音乐播放器。
1.成果展示: 2.界面操作提示 1. 2种方法把歌曲加入列表, 第一种加入本地资源,第二种 加入网上搜索的歌曲 2. 加入本地资源,点击图片 + ,然后再本地资源里面添加歌曲 3. 网上搜 ...
- Android开发本地及网络Mp3音乐播放器(十二)创建NetMusicListAdapter、SearchResult显示网络音乐列表
转载请注明出处:http://blog.csdn.net/iwanghang/article/details/51290181 觉得博文有用,请点赞,请留言,请关注,谢谢!~ 实现功能: 实现NetM ...
最新文章
- Mozilla开源了VR框架A-Frame
- 中国科学院、东南大学等联合发表最新的视觉 Transformer 综述
- 管理云栈将会胜出吗?
- 模拟操作系统动态内存管理(c实现)
- 俄罗斯最大搜索引擎Yandex开源了一款梯度提升机器学习库CatBoost
- HTTP缓存原理介绍
- java常见的gc回收器_一篇文章让你了解GC垃圾回收器
- 关于ugc的一点思考
- IT加速营-关于java开发,测试及职业规划的公众号
- 七本前端(javascript、css)最著名工具书免费下载
- OpenCMS 11 (一)安装配置
- 2017北航计算机系学硕最低录取分,2018北航计算机考研初试经验帖
- (一)外显子组数据分析之软件安装大全
- 如何查看电脑连接过的WiFi密码
- 【RK2206】3. 处理迪文屏事件
- dw里PHP编写格式,Dreamweaver中如何使用模板(附代码)
- google scholar 使用不了的问题——已解决
- 网络嗅探器(影音神探) 4.73
- Reporter对象的几个鲜为人知的方法
- Linux mkdir、touch、mv、cp等命令的介绍与使用