我在 C# WinForm 中有一个代码,它应该能够从 a 读取歌曲列表,listBox
然后播放每首歌曲windowsMediaPlayer
(出于某些原因,我想播放从 the 最后一项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:
任何人都知道为什么我会收到那个错误或者我应该如何解决它?感谢帮助 。