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

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

2023年7月11日发(作者:)

⾳乐播放器的实现(四)——歌曲列表、顺序播放、单曲循环、随机播放、⾃动下⼀曲⾳乐播放器的实现(四)—— 歌曲列表、顺序播放、单曲循环、随机播放、⾃动下⼀曲传送门:(完整⼯程见第五章篇尾)前⾔:上⼀篇简单的实现了算是顺序播放的上⼀曲和下⼀曲,这篇加上播放模式(顺序播放、单曲循环、随机播放),再优化上/下⼀曲,同时显⽰所有歌曲的列表,并能点击播放对应的歌曲⾳频。先看下最终效果:具体操作⼀、⾸先,我们还是先完善UI⾯板:1、在上⼀篇的基础上,新建⼀个按钮Button命名为pModeImage,Button的图⽚⽤来显⽰播放模式对应的图⽚(⽂本可以删掉);2、准备三张图⽚放⼊Project⾯板中的Resources⽂件夹下的Sprite⽂件夹中(可根据⾃⼰需求放置,但⼀定要在Resources⽂件夹下,当然后台代码对应的路径也要更改),分别命名为:stright、circle和random;3、新建⼀个Scroll View,⽤来显⽰歌曲的列表,在content下新建⼀个Button,⽤来点击播放对应歌曲。在content上添加布局组件,调整相关参数,使Button⼤⼩位置合适,最后把该Button拖⾄Project⾯板中形成⼀个预制体,存放在Prefab⽂件夹中,再删掉或隐藏掉content下的Button按钮。最终效果如下图所⽰:⼆、核⼼代码1、相对上⼀篇,我把播放⾳频的⽅法独⽴了出来,⽅便调⽤。 ///

///

播放索引为index的⾳频 ///

/// ⾳频索引 void playMusic(int index) { = auc[index]; //⾳频播放器的⾳频为aus数组中索引对应的⾳频 = 0; //初始化进度条 = 0; //初始化⾳乐的播放时间(从头开始播) (); //播放⾳频 }2、⾳乐列表实例化每个⾳频按钮,形成⾳乐列表,该⽅法在Start()中调⽤,即开始运⾏时就形成歌曲列表。(其中item为上⾯制作的Button预制体。) public GameObject item; //要实例化的列表按钮对象,即Button预制体 private GameObject it; //实例化出的列表⾳频按钮 void initItem()//⾳频列表 { List L = new List();//列表L for (int i = 0; i < ; i++) { it = Instantiate(item); //实例化⾳频列表的各个按钮 //设置⽗节点为Scroll View下的content ent(("Content").transform, false); //⾳频名 string[] name = auc[i].('-'); //连接⾳频名,序号、名字、作者 ("Text").GetComponent().text = ("{0} {1}--" + "{2}", i + 1, name[0], name[1]); //把每个按钮放⼊列表L (it); } GameObject[] g = new GameObject[]; //数组g,长度等于列表L

的长度 (g); //把列表L的内容复制到数组g中 //给每个⾳频按钮加上监听,点击即播放对应⾳频 foreach(GameObject gob in g) { ponent

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信