【发布时间】:2015-02-25 14:01:03
【问题描述】:
我有一个组合框中的歌曲列表。我正在根据用户的选择播放歌曲。这是我的代码。
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
wplayer.controls.pause();
song = comboBox1.SelectedItem.ToString();
index1 = comboBox1.SelectedIndex;
pictureBox4.Image=Image.FromFile(Application.StartupPath + "\\Input\\zeneszek.gif");
pictureBox4.SizeMode=PictureBoxSizeMode.StretchImage;
pictureBox4.Visible=true;
wplayer.PlayStateChange += new WMPLib._WMPOCXEvents_PlayStateChangeEventHandler(wplayer_PlayStateChange);
wplayer.URL = Application.StartupPath + "\\Input\\" + song + ".mp3";
wplayer.controls.play();
WMPLib.WMPPlayState playstate = WMPLib.WMPPlayState.wmppsMediaEnded;
label4.Text = "Playing" + song;
}
public void wplayer_PlayStateChange(int newstate)
{
if (newstate == (int)WMPLib.WMPPlayState.wmppsMediaEnded)
{
playstate = WMPLib.WMPPlayState.wmppsMediaEnded;
song = comboBox1.Items[index1++].ToString();
}
}
歌曲结束后,我想播放下一首歌曲,即组合框选择中的下一首歌曲。有人可以帮忙吗?我也尝试了播放状态更改事件。我仍然无法播放下一首歌曲。当播放状态为 wmppsMediaEnded 时,我增加了组合框的索引。我什么时候需要播放那首歌?我尝试在状态为 wmppsStopped 和 wmmppsTransitioning 时播放这首歌,但在这两种情况下我只能连续播放两首歌曲。在第二首歌曲结束后,我无法播放剩余的歌曲。
【问题讨论】: