Ok, ich habe eine Frage, ich habe diesen Code gemacht, um den Axmediaplayer auf der Basis des in der Listbox aufgeführten Elements abzuspielen. Zuerst mache ich diesen Code, um eine Liste mit openDialog zu erstellen:
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]);
}
}
}
und dann wird die Musik abgespielt, wenn sich der Index der Listbox ändert (wenn das Element in der Listbox angeklickt wird), indem dieser Code verwendet wird:
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
axWindowsMediaPlayer1.URL = path[listBox1.SelectedIndex];
}
es funktioniert gut, und dann möchte ich Player automove zum nächsten Song basierend auf Element auf meiner Listbox. mit mit Ereignissen PlayStateChange, so mache ich diesen Code
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;
}
}
}
der ausgewählte index ändert sich, aber der player spielt nicht automatisch den nächsten titel ab. ich muss manuell auf die abspieltaste klicken, um die liste abzuspielen. kann mir jemand weiterhelfen?