0

listBoxから曲のリストを読み取り、各曲を再生できるC#WinFormのコードがあります(何らかの理由で、の最後の項目から最初windowsMediaPlayer の項目まで曲を再生したい)。listBox

ここに私が使用しているコードがあります:

            int count = listBox1.Items.Count-1;
            listBox1.SelectedItem = listBox1.Items[count];
            axWindowsMediaPlayer1.URL = listBox1.SelectedItem.ToString();
            axWindowsMediaPlayer1.Ctlcontrols.play();

そして、最初の曲の再生が終了したら、次のように変更したいとurl思いました:

  private void axWindowsMediaPlayer1_PlayStateChange_1(object sender, _WMPOCXEvents_PlayStateChangeEvent e)
    {
        if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded)
        {

            if (count > 0)
            {
                count = count - 1;
                axWindowsMediaPlayer1.URL = listBox1.Items[count].ToString();
                axWindowsMediaPlayer1.Ctlcontrols.play();

            }
        }
    }

このコードは最初の曲を再生します。axWindowsMediaPlayer1.URL = listBox1.Items[count].ToString();しかし、私が得たこの行でCOM Exception ERROR、WindowsMediaPlayer コントロールはリスト内の他の曲を再生しませんでした。

エラーの詳細は次のとおりです。

   System.Runtime.InteropServices.COMException was unhandled by user code
   Message=Exception from HRESULT: 0xC00D1325
   Source=Interop.WMPLib
   ErrorCode=-1072884955
   StackTrace:
   at WMPLib.IWMPPlayer4.set_URL(String pbstrURL)
   at AxWMPLib.AxWindowsMediaPlayer.set_URL(String value)
   at Avaye_Malakooti_92.Form1.axWindowsMediaPlayer1_PlayStateChange_1(Object sender, _WMPOCXEvents_PlayStateChangeEvent e) in C:\Users\Novin Pendar\Documents\Visual Studio 2010\Projects\New folder\Avaye Malakooti 92\Avaye Malakooti 92\Form1.cs:line 459
   at AxWMPLib.AxWindowsMediaPlayer.RaiseOnPlayStateChange(Object sender, _WMPOCXEvents_PlayStateChangeEvent e)
   at AxWMPLib.AxWindowsMediaPlayerEventMulticaster.PlayStateChange(Int32 newState)
   InnerException: 

ここにエラーがあります

なぜそのエラーが発生したのか、またはどのように解決すればよいのか、誰にもアイデアがありますか? 手伝ってくれてありがとう 。

4

2 に答える 2