好的,我有问题,我根据列表框中列出的项目制作了这段代码来播放 axmediaplayer。首先,我使用 opendialog 制作此代码以制作列表:
private string[] files, path;
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
files = openFileDialog1.SafeFileNames;
path = openFileDialog1.FileNames;
for (int i = 0; i < files.Length; i++) {
listBox1.Items.Add(files[i]);
}
}
}
然后它使用以下代码在列表框索引更改时播放音乐(当列表框上的项目单击时):
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
axWindowsMediaPlayer1.URL = path[listBox1.SelectedIndex];
}
它工作正常,然后我希望播放器根据我的列表框上的项目自动移动到下一首歌曲。使用事件 PlayStateChange,所以我制作了这段代码
private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded)
{
if(listBox1.SelectedIndex < files.Length - 1)
{
listBox1.SelectedIndex = listBox1.SelectedIndex + 1;
}
}
}
所选索引更改,但播放器不会自动播放下一首歌曲。我必须手动单击播放按钮才能播放列表。谁能帮帮我?