
指導老師--原玉明
1.首先知道有兩個類(PlayList Song)
PlayList類中有一方法
public static bool AddSong(Song song)
{
bool success = false;//記錄添加歌曲是否成功
for (int i = 0; i < SongList.Length; i++)
{
//找到數組中第一個為null的位置
if (SongList[i] == null)
{
SongList[i] = song;
success = true;
break;
}
}
return success;
}
2.將選中的歌曲對象放到PlayList類中的數組
Song song = new Song();
song.SongName = dgvSong.SelectedRows[0].Cells["songName"].Value.ToString();記錄當前歌曲
song.SongURL =KtvUnit.SongPath+"http://"+ dgvSong.SelectedRows[0].Cells["songURL"].Value.ToString();
//MessageBox.Show(song.SongURL);
PlayList.AddSong(song);
3.在FrmMian中的Timer控件 1s Enable=true Tick點擊事件
If(Player1.playstate==Vmpplayer.stopped)
{
Song=null;
PlayList.MoveOn();//當歌曲播放到最后一秒的那一瞬間,進行播放下一首
}
4. public static void MoveOn()
{
if (SongList[SongIndex] != null && SongList[SongIndex].PlayState == SongPlayState.again)
//如果當前播放歌曲不為空并且狀態為重播
{
SongList[SongIndex].SetSongPlayed();//狀態改為已播
}
else
{
SongIndex++;//執行++進行下一首播放
}
}
5. public void SongList() `
{
lvSong.Items.Clear();
for (int i = 0; i < PlayList.SongList.Length; i++)
{
if (PlayList.SongList[i]!=null)
{
ListViewItem item = new ListViewItem();
item.Text = PlayList.SongList[i].SongName;
item.Tag = i;
string playstate = PlayList.SongList[i].PlayState == SongPlayState.unplayed ? "未播放" : "已播";
item.SubItems.Add(playstate);
lvSong.Items.Add(item);
}
}
}
新聞熱點
疑難解答