国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

北大青鳥KTV項目播放原理 指導老師:袁玉明

2019-11-17 02:14:17
字體:
來源:轉載
供稿:網友

北大青鳥KTV項目播放原理 指導老師:袁玉明

第一步:

創建一個Song類

//歌曲名稱

public string SongName { get; set; }

//歌曲路勁

public string SongPath { get; set; }

第二步:

創建一個ListSong類

//存儲要播放的歌曲

public static List<Song> list = new List<Song>();

public static int SongIndex = 0;//當前播放的歌曲在集合中的索引

/// <summary>

/// 把歌曲添加到List集合中

/// </summary>

public static void AddSong(Song song)

{

list.Add(song);

}

/// <summary>

/// 獲得播放的歌曲

/// </summary>

public static Song GetPalySong()

{

if (list.Count > 0) àà判斷集合中是否是元素

{

if (list.Contains(list[SongIndex])) //看集合中是否包含list[SongIndex]這首歌

{

return list[SongIndex];

}

}

return null;

}

/// <summary>

/// 獲取下一首播放歌曲的名字

/// </summary>

/// <returns></returns>

public static string GetNextSongName()

{

string name=string.Empty; //定義一個name字段,接受要播放下一首歌曲的名稱

if (list.Count>1) //集合中的元素必須大于1才能獲取下一首歌曲的名稱

{

name = list[SongIndex + 1].SongName;

}

return name;

}

/// <summary>

/// 播放下一首

/// </summary>

public static void MoveOn()

{

//判斷當前的歌曲不等于空并且播放歌曲的狀態不是重播的情況下就執行SongIndex++,從而實現播放下一首歌曲

if (list[SongIndex] != null && list[SongIndex].Sate == Sateze.again)

{

list[SongIndex].ChagenSate();

}

else

{

SongIndex++;

}

}

第三步:

在點擊DataGirlView控件中的一首歌曲時,

//創建一個Song類對象

Song song = new Song();

//獲取歌曲名稱

song.SongName = this.dataGridView1.SelectedRows[0].Cells[3].Value.ToString();

//獲取歌曲路勁

song.SongPath = this.dataGridView1.SelectedRows[0].Cells[2].Value.ToString();

/調用ListSong中的AddSong方法給集合中添加數據

ListSong.AddSong(song);

第四步:

在主窗體FrmMain中定義一個Song類對象,接受要播放的歌曲

PRivate Song song;//當前播放的歌曲

//定義一個方法播放要播放的歌曲

/// <summary>

/// 播放歌曲

/// </summary>

public void LoadPalyedSong()

{

this.song = ListSong.GetPalySong();//調用ListSong類中的GetPalySong方法,

if (song!=null)

{

this.song.ChagenSate(); //改變歌曲的狀態

axWindowsMediaPlayer1.URL = @"E:/KTV/song/" + this.song.SongPath; //:播放器播放的路勁

this.textBox1.Text = this.song.SongName; //當前播放的歌曲名稱

this.textBox2.Text = ListSong.GetNextSongName(); //調用ListSong類中的GetNextSongName方法獲取下一首歌曲的名字

}

}

在主窗體FrmMain中有一個Timer空間,它有一個Tick事件,在它的事件中有這樣幾句代碼

if (song==null) //強行將song置為空,為了播放歌曲

{

LoadPalyedSong();

}

//播放下一首歌曲 判斷播放器空間的狀態為停止時

if (axWindowsMediaPlayer1.playState==WMPLib.WMPPlayState.wmppsStopped)

{

song = null; //將song置為空,song指向下一首歌曲

ListSong.MoveOn(); //調用ListSong類中的MoveOn方法播放下一首歌曲

}

第五步:

將從DataGirlView空間中選擇的歌曲添加到ListView控件中

this.listView1.Items.Clear(); //首先清空一下ListView控件

foreach (Song item in ListSong.list) //遍歷整個集合

{

ListViewItem lvitem = new ListViewItem(item.SongName);

lvitem.SubItems.Add(item.SongPath);

string sate = item.Sate == Sateze.unPaly ? "未播放" : "已播放";

lvitem.SubItems.Add(sate);

this.listView1.Items.Add(lvitem); //綁定到ListView控件中

}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乃东县| 昌都县| 法库县| 西峡县| 定州市| 贵阳市| 连山| 平塘县| 西昌市| 滁州市| 武安市| 林芝县| 黄陵县| 合水县| 临猗县| 定兴县| 永修县| 福贡县| 徐州市| 阿瓦提县| 罗源县| 西藏| 孟州市| 永宁县| 南陵县| 广南县| 宁蒗| 扬州市| 仙游县| 安仁县| 喜德县| 邹平县| 上栗县| 论坛| 民乐县| 思茅市| 天水市| 高邑县| 余干县| 盐津县| 平塘县|