for (int i = 0; i < fi.Length; i++)
{
fi[i].Extension.ToLower();
if (fi[i].Extension.ToLower() == ".xml"||fi[i].Extension.ToLower()==".db")
{
goto a;
}
WMPLib.IWMPPlaylist currentList = this.axWindowsMediaPlayer1.currentPlaylist;
WMPLib.IWMPMedia Media = axWindowsMediaPlayer1.newMedia(downaddress+ @"\" + fi[i]);
currentList.appendItem(Media);
a: ;
}
axWindowsMediaPlayer1.Ctlcontrols.play();
现在的问题是我把文件加进去以后,它不是按加进去的顺序播放,怎么设置让axWindowsMediaPlayer按加进去的顺序播放?
{
fi[i].Extension.ToLower();
if (fi[i].Extension.ToLower() == ".xml"||fi[i].Extension.ToLower()==".db")
{
goto a;
}
WMPLib.IWMPPlaylist currentList = this.axWindowsMediaPlayer1.currentPlaylist;
WMPLib.IWMPMedia Media = axWindowsMediaPlayer1.newMedia(downaddress+ @"\" + fi[i]);
currentList.appendItem(Media);
a: ;
}
axWindowsMediaPlayer1.Ctlcontrols.play();
现在的问题是我把文件加进去以后,它不是按加进去的顺序播放,怎么设置让axWindowsMediaPlayer按加进去的顺序播放?
解决方案 »
- 如何手动向 dataGridView 中 添加 数据,没有数据库
- 请问下 我把FORM程序移植到WPF应用程序有问题吗
- C# DataGridView中如何在DataGridViewButtonColumn列的按钮上添加文本。
- C# 中两个 foreach 之间的值能互相调用么?
- 通过URL给winform应用程序传递参数的问题!
- (笔试)看似不可思意的事情,考考你的智商,看看你能及格吗?
- 一般问题
- 关于javascript能否调用c#的一些控件以及数据集?
- 怎样确定一个txt文件和html文件的编码
- 使用 C#+ASP.NET+SQLServer 建设的网站 www.xmlchina.net 测试中!
- 断点续传问题
- 数组问题
{
// WMPLib.WMPPlayState newState = (WMPLib.WMPPlayState)e.newState;
axWindowsMediaPlayer1.Ctlcontrols.play();
axWindowsMediaPlayer1.fullScreen = true;
}
WMPLib.IWMPMedia Media;for (int i = 0; i < fi.Length; i++)
{
fi[i].Extension.ToLower();
if (fi[i].Extension.ToLower() != ".xml" && fi[i].Extension.ToLower() != ".db")
{
Media = axWindowsMediaPlayer1.newMedia(downaddress+ @"\" + fi[i]);
currentList.appendItem(Media);
}
}axWindowsMediaPlayer1.Ctlcontrols.play();
{
WMPLib.IWMPPlaylist currentList = this.axWindowsMediaPlayer1.currentPlaylist;
for (int i = 0; i < fi.Length; i++)
{
fi[i].Extension.ToLower();
if (fi[i].Extension.ToLower() != ".xml"&&fi[i].Extension.ToLower()!=".db")
{
WMPLib.IWMPMedia Media = axWindowsMediaPlayer1.newMedia(downaddress+ @"\" + fi[i]);
currentList.appendItem(Media);
}
}
axWindowsMediaPlayer1.Ctlcontrols.play();
}
private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
axWindowsMediaPlayer1.Ctlcontrols.play();
axWindowsMediaPlayer1.fullScreen = true;
}
现在是这样写的,因为要加载文件 VnvPlayerStart()方法每30秒执行一次, 现在就是不按顺序播放 好象是随机播放
希望大家的问题能够及时的得到解决.
——————————————
另外你的程序WMPLib.IWMPMedia Media = axWindowsMediaPlayer1.newMedia(downaddress+ @"\" + fi[i]);不要全放在循环里面,这样你等于每次循环,都重新声明Media变量。最好按照我给你的那个修改后的来做。不放到循环里怎么遍历文件里的文件把它们加到currentList里面去?
WMPLib.IWMPMedia Media;循环的时候
Media = axWindowsMediaPlayer1.newMedia(downaddress+ @"\" + fi[i]);第二个问题:
先判断文件是否已经在当前列表里面了,如果不在,再添加(遍历当前的playList,获取每个Media的Url,也可能是BaseUrl,如果这种方式你实现起来有困难的话,也可以自己定义一个数组来记录,但要记得更新之后,也要更新该数组),另外你每次更新,没有log么?遍历文件夹方式不可靠。每次更新完毕之后,应当有一个更新列表,靠这个列表来添加才准确。
private void VnvPlayerStart()
{
WMPLib.IWMPPlaylist currentList = this.axWindowsMediaPlayer1.currentPlaylist;
for (int i = 0; i < fi.Length; i++)
{
fi[i].Extension.ToLower();
if (fi[i].Extension.ToLower() != ".xml"&&fi[i].Extension.ToLower()!=".db")
{
WMPLib.IWMPMedia Media = axWindowsMediaPlayer1.newMedia(downaddress+ @"\" + fi[i]);
currentList.appendItem(Media);
}
}
axWindowsMediaPlayer1.Ctlcontrols.play();
}
private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
axWindowsMediaPlayer1.Ctlcontrols.play();
axWindowsMediaPlayer1.fullScreen = true;
}
中帮忙改一下,谢谢~~~
{
MessageBox.Show(currentList.get_Item(i).sourceURL);
}用这个方法可以得到CurrentList列表中,Media对应的文件,但不是很准确(是否准确跟媒体文件有关),所以最好自己做个数组来保存。