600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Unity UGUI简单的音频播放+读歌词(实现类似 QQ音乐 网易云音乐歌词滚动)

Unity UGUI简单的音频播放+读歌词(实现类似 QQ音乐 网易云音乐歌词滚动)

时间:2022-03-17 19:08:56

相关推荐

Unity UGUI简单的音频播放+读歌词(实现类似 QQ音乐 网易云音乐歌词滚动)

Unity UGUI简单的音频播放+读歌词(实现类似 QQ音乐,网易云音乐歌词滚动)

效果图 (demo下载地址 demo下载地址)

简单代码

/// <summary>/// 解析数据歌词/// </summary>/// <param name="dataList">数据</param>/// <returns></returns>void ProcessingData(List<string> dataList){// 所有数据for (int i = 0; i < dataList.Count; i++){string[] strarry = dataList[i].Split(new char[] {'[', ']' });if (strarry != null && strarry.Length > 0){for (int j = 1; j < strarry.Length; j++){string tempstr = strarry[j];//这是标题 --- 创作者if (tempstr.StartsWith("ti") || tempstr.StartsWith("ar") || tempstr.StartsWith("al") || tempstr.StartsWith("by") || tempstr.StartsWith("offset")){string[] strarry1 = tempstr.Split(':');//valuePairs.Add(strarry1[0], strarry1[1]);}else{//这是内容if (tempstr.Contains(":")){string[] strarry1 = tempstr.Split(':');float m = float.Parse(strarry1[0]) * 60;float s = float.Parse(strarry1[1]);//ms ms = (m + s).ToString();//Debug.Log(ms);//时间floattimelist.Add(m + s);}else{//句子stringlyriclist.Add(tempstr);}}}}}}

/// <summary>/// 显示移动lyric位置/// </summary>/// <param name="index"></param>void ShowLrc(int index){if (index >= stringlyriclist.Count / 4){temp -= offest;if (temp >= 0){ScrollRect.verticalNormalizedPosition = temp;Debug.Log(temp);}}texts[index].color = Color.green;if (index > 0 && index < stringlyriclist.Count){texts[index - 1].color = Color.gray;}}

文章最后附上(demo下载地址 demo下载地址)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。