养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

Unity 音乐播放器 之 可视化音频名称和时间控制

时间:2024-11-11 15:12:11

Unity音乐播放器之可视化音频名称和时间控制。可视化的界面显示音频的荏半吨蛸名称和播放当前时间以及总时间;本节设计一个界面能显示音频名称,滑动调节播放进度,并动态显示播放时间的案例,具体如下图

Unity 音乐播放器 之 可视化音频名称和时间控制

工具/原料

Unity

UnityUGUI

音乐播放器之可视化音频名称和时间控制

1、打开Unity,新建一个空工程,在工程中新建一个脚本,脚本名称可以命名为“AudioTimeTest”,具体如下图

Unity 音乐播放器 之 可视化音频名称和时间控制

Unity 音乐播放器 之 可视化音频名称和时间控制

2、选中“AudioTimeTest”脚本,双击脚本或者右键“OpenC#Project”,打开脚本,具体如下图

Unity 音乐播放器 之 可视化音频名称和时间控制

3、在打开的“AudioTimeTest”脚本上进行代码编辑,设置一些公共变量来取得相蔡龇呶挞关信息,然后设置监听事件来控制播放进度,最后格式化显示当前时间与总时间,代码及代码说明如下图

Unity 音乐播放器 之 可视化音频名称和时间控制

Unity 音乐播放器 之 可视化音频名称和时间控制

4、AudioTimeTest脚本具体跗柿椁焚如下:usingUnityEngine;usingUnityEngine.UI;[Requir髫潋啜缅eComponent(typeof(AudioSource))]publicclassAudioTimeTest:MonoBehaviour{publicAudioClipaudioClip;publicTextaudioTimeText;publicTextaudioTimeName;publicSlideraudioTimeSlider; //Usethisforinitialization voidStart(){audioSource=GetComponent<AudioSource>();audioSource.clip=audioClip;audioTimeName.text=audioClip.name;clipHour=(int)audioSource.clip.length/3600;clipMinute=(int)(audioSource.clip.length-clipHour*3600)/60;clipSecond=(int)(audioSource.clip.length-clipHour*3600-clipMinute*60);audioSource.Play();audioTimeSlider.onValueChanged.AddListener((delegate{SetAudioTimeValueChange();}));} //Updateiscalledonceperframe voidUpdate(){ShowAudioTime();}privatevoidShowAudioTime(){currentHour=(int)audioSource.time/3600;currentMinute=(int)(audioSource.time-currentHour*3600)/60;currentSecond=(int)(audioSource.time-currentHour*3600-currentMinute*60);audioTimeText.text=string.Format("{0:D2}:{1:D2}:{2:D2}/{3:D2}:{4:D2}:{5:D2}",currentHour,currentMinute,currentSecond,clipHour,clipMinute,clipSecond);audioTimeSlider.value=audioSource.time/audioClip.length;}privatevoidSetAudioTimeValueChange(){audioSource.time=audioTimeSlider.value*audioSource.clip.length;}privateAudioSourceaudioSource;privateintcurrentHour;privateintcurrentMinute;privateintcurrentSecond;privateintclipHour;privateintclipMinute;privateintclipSecond;}

5、脚本编译正确后,回到Unity界面,在场景中新建Text以及Slider,用来显示音频名称播放时间以及播放进度,然后适当调整UI布局,并且导入一个音频文件,具体如下图

Unity 音乐播放器 之 可视化音频名称和时间控制

6、把脚本“AudioTimeTest”赋给UI“AudioPanel”,并赋值相对应的变量,具体如下图

Unity 音乐播放器 之 可视化音频名称和时间控制

7、运行场景,即可以看到音频名称、音频播放时间,并且还可以通过滑钮调节播放进度,具体如下图

Unity 音乐播放器 之 可视化音频名称和时间控制

8、到此,《Unity音乐播放器之可视化音频名称和时间控制》讲解结束,谢谢

© 一点知识