基于C#的音乐播放器
生活随笔
收集整理的這篇文章主要介紹了
基于C#的音乐播放器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
效果圖:
實現了基本功能:
歌詞顯示功能;
播放功能;
切歌功能;
進度條拖動播放功能;
下面是用到的一些變量
List<string> MusicList = new List<string>();//存儲音樂文件的路徑List<Label> MusicLableList = new List<Label>();private Point MusicPos;//捕捉鼠標,移動formbool BIsMusicPlay; //是否播放string timeLeft;//歌曲已播放時長LyricFiles MusicLyric; //歌詞bool isShow = false;//歌曲列表顯示與隱藏bool isMute;//是否靜音int MuteBefore; //靜音前音量int playmode; //播放模式Form1_Load中增添了雙緩沖功能
//初始化歌曲列表DirectoryInfo dirinfo = new DirectoryInfo("./song/");FileInfo[] filelist = dirinfo.GetFiles();string MusicName;//新建播放列表for (int i = 0; i < filelist.Length; i++){if (!ControlMusicList.Items.Contains(Path.GetFileName(filelist[i].FullName))){MusicName = filelist[i].FullName;ControlMusicList.Items.Add(Path.GetFileName(MusicName)); //初始化歌詞顯示區域for (int i = 0; i < 7; i++){Label label = new Label();label.Location = new Point(30, 55 + i * 45);label.Size = new Size(900, 50);label.BackColor = Color.Transparent;label.ForeColor = Color.White;label.Font = new Font("微軟雅黑", 15); //默認播放列表第一首歌if (ControlMusicList.Items != null){//初始化MusicList,使默認歌曲為index==0ControlMusicList.SelectedIndex = 0;} BIsMusicPlay = false;//初始化進度條trkVolume.Value = WMPlayer.settings.volume;//初始化,準備工作pnlControl.BackColor = Color.FromArgb(127, 200, 200, 200);//隱藏音量調節條isMute = false;播放與暫停播放功能:
//播放暫停BIsMusicPlay = !BIsMusicPlay;if (BIsMusicPlay){//播放歌曲WMPlayer.Ctlcontrols.play();//MusicPlay(MusicList[ControlMusicList.SelectedIndex]);//播放歌詞TimeMusicLyric.Enabled = true;TimeMusicPlay.Enabled = true;ControlMusicPlay.BackgroundImage = Properties.Resources.pause;}else//暫停歌曲{WMPlayer.Ctlcontrols.pause();雙擊列表播放功能
//雙擊列表播放private void lstMusiclist_DoubleClick(object sender, EventArgs e){MusicPlay(MusicList[ControlMusicList.SelectedIndex]);播放子功能:
//各計時器狀態設置BIsMusicPlay = true;TimeMusicPlay.Enabled = true;TimeMusicLyric.Enabled = true;//音樂播放WMPlayer.URL = MusicPath;WMPlayer.Ctlcontrols.play();//設置播放/暫停的圖片ControlMusicPlay.BackgroundImage = Properties.Resources.pause;//從文件路徑獲取歌詞名稱string[] lyricpaths = MusicPath.Split('\\', '.');string lyricname = lyricpaths[lyricpaths.Length - 2];//初始化歌詞類MusicLyric = new LyricFiles();MusicLyric.LoadLyric(lyricname);//初始化歌詞顯示label//改背景圖片Loadbgimage(lyricname);播放模式功能
//根據播放模式播放if (playmode == 0){//循環播放下一曲index++;if (index == ControlMusicList.Items.Count){index = 0;}}else if (playmode == 1){//隨機播放下一曲Random random = new Random();random.Next();index = random.Next() % ControlMusicList.Items.Count;//隨機的下一首不能與當前一樣歌詞類:
class LyricFiles{public List<Lyric> lstLyric = new List<Lyric>();public string[] Firstlyrics(double Curtime){int index = 0;int sentinel = 4;double time;//保存7行代碼返回string[] lyrics = new string[8];string[] newlyric = new string[8];newlyric[0] = newlyric[1] = newlyric[2] = newlyric[3] = null;for (int count = 0; count < 7; count++){lyrics[count] = lstLyric[count].Strlyric;}foreach (Lyric lyric in lstLyric){//全部化成double計算//如果大于等于就返回歌詞time = lyric.Minute * 60 + lyric.Second + lyric.Mmsec * 0.01;if (lyric != null){if (time <= Curtime){newlyric[0] = newlyric[1];newlyric[1] = newlyric[2];newlyric[2] = newlyric[3];完整項目及其源碼如下:
MusicPlay_基于C#的音樂播放器-C#文檔類資源-CSDN下載
總結
以上是生活随笔為你收集整理的基于C#的音乐播放器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java短信邮箱消息发送从零开始,一篇解
- 下一篇: 影视