您好,登錄后才能下訂單哦!
Visual C#讀取歌曲列表文件,并獲取單個(gè)音樂(lè)文件信息,功能還有返回一個(gè)歌曲對(duì)象、獲取歌曲名稱(chēng)、獲取歌手名、自動(dòng)播放下一首、切歌,ture上一首,false下一首、更新路徑、單曲循環(huán)、隨機(jī)播放等。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace MyMusicBox { /// <summary> /// 歌曲列表 /// </summary> [Serializable] class PlayList { public static List<Song> song = new List<Song>();//存儲(chǔ)所有歌曲 public static List<Song> play = new List<Song>();//存儲(chǔ)播放列表 public static int id = 1;//當(dāng)前播放歌曲編號(hào),非索引,id-1=索引 /// <summary> /// 播放歌曲 /// </summary> /// <returns>返回一個(gè)歌曲對(duì)象</returns> public static Song Play() { //如果播放集中存在對(duì)象 if (play.Count>0) return play[id - 1]; else return null; } /// <summary> /// 獲取歌曲名 /// </summary> /// <returns></returns> public static string GetName() { //如果播放集合為空 if (play.Count ==0) return "當(dāng)前無(wú)播放歌曲"; else return play[id - 1].Name; } /// <summary> /// 獲取歌手名 /// </summary> /// <returns></returns> public static string GetSinger() { //如果播放集合為空 if (play.Count == 0) return " "; else return "一" + play[id - 1].Singer; } /// <summary> /// 自動(dòng)下一首 /// </summary> public static void PlayNext() { //如果當(dāng)前播放為最后一首,編號(hào)重置為1 if (id == play.Count) id = 1; else id++; } /// <summary> /// 切歌,ture上一首,false下一首 /// </summary> public static void Cut(bool temp) { if (play.Count == 0) return; //修改狀態(tài)為cut,使主窗體song對(duì)象清空 play[id - 1].SongState = SongPlayState.cut; //上一首,如果已經(jīng)是第一首就切換最后一首 if (temp) { if (id ==1) id=play.Count; else id--; } //下一首,如果已經(jīng)是最后一首就切換第一首 else { if (id == play.Count) id = 1; else id++; } } /// <summary> /// 更新路徑 /// </summary> public static void Update() { foreach (Song s in play) { foreach (Song s1 in song) { if (s.Name == s1.Name) { s.FileName = s1.FileName; } } } } /// <summary> /// 單曲循環(huán) /// </summary> public static void PlayOne() { int temp = id - 1; id = temp; } /// <summary> /// 隨機(jī) /// </summary> public static void PlayRandom() { Random r = new Random(); id = r.Next(1, play.Count); } } }
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。