C#读取歌曲列表获取单个音乐文件信息
Visual C#读取歌曲列表文件,并获取单个音乐文件信息,功能还有返回一个歌曲对象、获取歌曲名称、获取歌手名、自动播放下一首、切歌,ture上一首,false下一首、更新路径、单曲循环、随机播放等。
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Collections;namespaceMyMusicBox{///<summary>///歌曲列表///</summary>[Serializable]classPlayList{publicstaticList<Song>song=newList<Song>();//存储所有歌曲publicstaticList<Song>play=newList<Song>();//存储播放列表publicstaticintid=1;//当前播放歌曲编号,非索引,id-1=索引///<summary>///播放歌曲///</summary>///<returns>返回一个歌曲对象</returns>publicstaticSongPlay(){//如果播放集中存在对象if(play.Count>0)returnplay[id-1];elsereturnnull;}///<summary>///获取歌曲名///</summary>///<returns></returns>publicstaticstringGetName(){//如果播放集合为空if(play.Count==0)return"当前无播放歌曲";elsereturnplay[id-1].Name;}///<summary>///获取歌手名///</summary>///<returns></returns>publicstaticstringGetSinger(){//如果播放集合为空if(play.Count==0)return"";elsereturn"一"+play[id-1].Singer;}///<summary>///自动下一首///</summary>publicstaticvoidPlayNext(){//如果当前播放为最后一首,编号重置为1if(id==play.Count)id=1;elseid++;}///<summary>///切歌,ture上一首,false下一首///</summary>publicstaticvoidCut(booltemp){if(play.Count==0)return;//修改状态为cut,使主窗体song对象清空play[id-1].SongState=SongPlayState.cut;//上一首,如果已经是第一首就切换最后一首if(temp){if(id==1)id=play.Count;elseid--;}//下一首,如果已经是最后一首就切换第一首else{if(id==play.Count)id=1;elseid++;}}///<summary>///更新路径///</summary>publicstaticvoidUpdate(){foreach(Songsinplay){foreach(Songs1insong){if(s.Name==s1.Name){s.FileName=s1.FileName;}}}}///<summary>///单曲循环///</summary>publicstaticvoidPlayOne(){inttemp=id-1;id=temp;}///<summary>///随机///</summary>publicstaticvoidPlayRandom(){Randomr=newRandom();id=r.Next(1,play.Count);}}}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。