0

プレーヤーで次の曲を自動的に再生したい。Windows Media Player オブジェクトを使用しています。
これは私のコードです。

 private void timer2_Tick(object sender, EventArgs e)
    {
        if (songList.SelectedIndex < files.Length - 1)
        {
            songList.SelectedIndex++;
            timer2.Enabled = false;
        }
        else
        {
            songList.SelectedIndex = 0;
            timer2.Enabled = false;
        }            

    }

    private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
    {
        if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded)
        {
            timer2.Interval = 100;
            timer2.Enabled = true;
        }

    }

しかし、それは機能していません。タイマーコードをチェックしましたが、機能していますが、axWindowsMediaPlayer1_PlayStateChangeイベントが機能していないと思います。この行を書いたときのデザイナーコードでaxWindowsMediaPlayer

 this.axWindowsMediaPlayer1.PlayStateChange += new System.EventHandler(this.axWindowsMediaPlayer1_PlayStateChange);  

次のエラーが表示されます。

axWindowsMediaPlayer1_PlayStateChange のオーバーロードがデリゲート System.EventHandler と一致しない

解決策はありますか?

4

1 に答える 1

2

のドキュメントをPlayStateChangeご覧ください。それはあなたに明確な例を与えます。

持っているものを使用するのではなく、代わりにこのイベント割り当てを使用してください。

axWindowsMediaPlayer1.PlayStateChange +=
      new AxWMPLib._WMPOCXEvents_PlayStateChangeEventHandler(axWindowsMediaPlayer1_PlayStateChange);
于 2013-03-08T10:32:55.747 に答える