首页 > 技术文章

KTV点歌系统播放原理

文章作者:来源:www.xdlvod.com时间:2019-11-05



导师 - Yuming Yuan

1.首先你知道有两个类(PlayList Song)

PlayList类中有一个方法

Public static bool AddSong(Song song)

{

bool success=false; //录制添加歌曲的成功

For(int I=0; I< SongList.Length; i ++)

{

//找到数组中的第一个空位

If(SongList [i]==null)

{

SongList [i]=song;

success=true;

布雷亚;

}

}

返回成功;

}

2.将选定的歌曲对象放在PlayList类的数组

Song song=new Song();

歌曲。 SongName=dgvSong。选定的行[0]。 Cells ['songName']。值。 ToString();录制当前歌曲

歌曲网址=KtvUnit。 SongPath +'dgvSong。选定的行[0]。单元格['歌曲网址']。值。 ToString();

//MessageBox。显示(歌曲.SongURL);

播放列表。 AddSong(歌曲);

3.定时器控制1s启用=真在FrmMian中点击事件

如果(玩家1.游戏状态==Vmpplayer。停止)

{

Song=null;

播放列表。 MoveOn(); //当歌曲播放到最后一秒时,播放下一首歌曲。

}

4. Public static void MoveOn()

{

If(SongList [SongIndex]!=null&& SongList [SongIndex] .PlayState==SongPlayState。再次)

//如果当前播放的歌曲不为空并且状态被重播

{

SongList [SongIndex]。 SetSongPlayed(); //状态已更改为广播

}

否则

{

SongIndex ++; //执行++以进行下一场比赛

}

}

5. Public void SongList()`

{

lvSong。项目。清除();

For(int I=0; I< PlayList.SongList.Length; i ++)

{

If(PlayList.SongList [i]!=null)

{

ListViewItem item=new ListViewItem();

项目。 Text=PlayList。 SongList [i]。 SONGNAME;

项目。 Tag=i;

string playstate=PlayList。 SongList [i]。 PlayState==SongPlayState。没玩过?'No play':'broadcast';

项目。子项目。添加(播放状态);

lvSong。项目。添加(项目);

}

}