C#视频播放

C#播放FLV视频

//记录播放视频文件路径

private void ChangeFlv(string path)

{

//获取XML文件的路径

xmlPath = Application.StartupPath.ToString();

xmlPath = xmlPath.Substring(0, xmlPath.LastIndexOf("\\"));

xmlPath = xmlPath.Substring(0, xmlPath.LastIndexOf("\\"));

xmlPath += @"\FLVPlayer";

xmlPath += @"\list.xml";

XmlDocument doc = new XmlDocument(); //创建XmlDocument实例

doc.Load(xmlPath); //加载XML文件

XmlNode nodePath = doc.SelectSingleNode("flvLists/item"); //打开节点

XmlElement xe = (XmlElement)nodePath;

xe.SetAttribute("title", path); //设置元素的属性

doc.Save(xmlPath); //保存

}//codego.net/1/1/1/

//播放FLV视频文件

private void playFLV(string path) //播放FLV文件的方法

{

FileInfo fi2 = new FileInfo(path); //实例化FileInfo

if (fi2.Exists) //如果文件存在

{

Directory.CreateDirectory("c:\\flvVidio"); //新建文件夹

//随机生成文件名

string newPath = "c:\\flvVidio\\" + DateTime.Now.Year + DateTime.Now.Second + ".flv";

File.Copy(path, newPath); //将原FLV文件复制到新建的文件夹中

ChangeFlv(newPath); //修改XML文件中的播放地址

this.Text = listView1.SelectedItems[0].SubItems[0].Text; //显示正在播放的文件名称

ax.Dispose(); //释放

AddFlash(); //重新添加播放器

ax.Movie = strg; //设置Movie属性

}

}

//添加播放列表

private void 打开文件ToolStripMenuItem_Click(object sender, EventArgs e)

{

if (openFileDialog1.ShowDialog() == DialogResult.OK) //选择文件

{

listView1.Items.Clear(); //清空ListView控件

string[] files = openFileDialog1.FileNames; //声明数组存储选择的文件

for (int i = 0; i < files.Length; i++) //遍历数组

{

string flvPath = files[i]; //获取路径

//获取文件名称

string flvName = flvPath.Substring(flvPath.LastIndexOf("\\") + 1, flvPath.Length - flvPath.LastIndexOf("\\") - 1);

fi = new FileInfo(flvPath); //实例化FileInfo

flv[0] = flvName; //文件名称

flv[1] = flvPath; //文件路径

flv[2] = Convert.ToString(fi.Length / 1024) + "KB"; //文件大小

ListViewItem lvi = new ListViewItem(flv); //创建ListViewItem实例

listView1.Items.Add(lvi); //添加到ListView控件中

}

}

}

//添加列表后选择路径播放该文件

private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)

{

try

{

if (listView1.SelectedItems.Count > 0) //判断是否添加了要播放的文件

{

string path = listView1.SelectedItems[0].SubItems[1].Text; //获取FLV文件的路径

playFLV(path); //调用playFLV方法播放FLV文件

}

}

catch { }

}