博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#视频播放
阅读量:5263 次
发布时间:2019-06-14

本文共 2109 字,大约阅读时间需要 7 分钟。

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 { }
        }

转载于:https://www.cnblogs.com/linnew/p/7747477.html

你可能感兴趣的文章
程序员究竟该如何提高效率zt
查看>>
希尔排序法(缩小增量法)
查看>>
PHP编程基础学习(一)——数据类型
查看>>
MongoDB-JAVA-Driver 3.2版本常用代码全整理(2) - 查询
查看>>
NPOI处理Word文本中上下角标
查看>>
Android笔记 Handler
查看>>
如何阅读大型前端开源项目的源码(转)
查看>>
java.util.Arrays类详解
查看>>
idea搭建tocmat
查看>>
NYOJ-626-intersection set(二分查找)
查看>>
项目管理之路(1):初步踏入项目管理
查看>>
Java 中 静态方法与非静态方法的区别
查看>>
echarts饼图显示百分比
查看>>
JMS消息
查看>>
Jenkins+ProGet+Windows Batch搭建全自动的内部包(NuGet)打包和推送及管理平台
查看>>
php上传文件及头像预览
查看>>
大四java实习生的一些经历
查看>>
线程池的概念
查看>>
Oracle_Statspack性能诊断工具
查看>>
转获取sql维护的表关系
查看>>