0

Visual Studio C# Windows フォームを使用して、単純な Windows メディア プレーヤー プログラムを作成しています。フォームに wmp コンポーネントとリストボックスを追加します。リストボックスには曲のリストが表示されます。ユーザーがリストボックス内の曲をダブルクリックすると、wmp は問題なく曲を再生します。しかし、曲が終わると、リストボックスの選択項目が次の曲に移動し、リストボックスのダブルクリック関数も呼び出されますが、wmp は次の曲を再生しません。問題を解決するには?

private void ListBoxDblClick(object sender, EventArgs e)
{
    Player.URL = ListBoxDblClick.SelectedItem.ToString();
    Player.Ctlcontrols.play();
}

private void Player_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
    if (e.newState == 8) 
    {
        if (ListBoxDblClick.SelectedIndex < ListBoxDblClick.Items.Count - 1)
        {
            ListBoxDblClick.SelectedIndex = ListBoxDblClick.SelectedIndex + 1;
        }
        else
            if (ListBoxDblClick.SelectedIndex == ListBoxDblClick.Items.Count - 1)
            {
                ListBoxDblClick.SelectedIndex = 0;
            }
        ListBoxDblClick(sender, new EventArgs());
    }
}
4

1 に答える 1

0

Player_PlayStateChange イベントで、newstate == 8 の場合、新しい曲を再生できないと思います。問題を解決するために私がすることは、タイマーを追加して、次の曲を再生する時間をオンにすることです。

ありがとう。

于 2013-08-18T00:27:46.823 に答える