хорошо, у меня есть вопрос, я создал этот код, чтобы играть на базе 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;
}
}
}
выбранное изменение индекса, но проигрыватель не воспроизводит следующую песню автоматически. Я должен нажать кнопку воспроизведения вручную, чтобы воспроизвести список. кто-нибудь может помочь мне встать?