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