问题描述
pictureBox1.Image=Image.FromStream(ms);如果ms为一个视频内存流的话,axWindowsMediaPlayer1.Ctlcontrols.play(ms),这句代码能不能将内存流中的视频播放出来?如果不能,那么怎么修改?谢谢!
解决方案
解决方案二:
你可以ms.Save(@"c:\xxx.avi");axWindowsMediaPlayer1.Ctlcontrols.play(@"c:\xxx.avi");这样呀
解决方案三:
如果我这个内存视频是从一个电脑本地中获取的得到的,那么像这样又获取新的地址,对最后这个视频的存储位置有没有什么影响?谢谢
解决方案四:
引用2楼niceboss的回复:
如果我这个内存视频是从一个电脑本地中获取的得到的,那么像这样又获取新的地址,对最后这个视频的存储位置有没有什么影响?谢谢
不会呀。这个只是存到一个临时的地址,对原来的不影响
解决方案五:
如果你用MediaPlayer控件,就只能先保存为文件了。
解决方案六:
就是按上面楼层人的建议:ms.Save(@"c:\xxx.avi");axWindowsMediaPlayer1.Ctlcontrols.play(@"c:\xxx.avi");?如果是rmvb的形式也可以吗?
解决方案七:
C#播放FLV视频//记录播放视频文件路径privatevoidChangeFlv(stringpath){//获取XML文件的路径xmlPath=Application.StartupPath.ToString();xmlPath=xmlPath.Substring(0,xmlPath.LastIndexOf("\"));xmlPath=xmlPath.Substring(0,xmlPath.LastIndexOf("\"));xmlPath+=@"FLVPlayer";xmlPath+=@"list.xml";XmlDocumentdoc=newXmlDocument();//创建XmlDocument实例doc.Load(xmlPath);//加载XML文件XmlNodenodePath=doc.SelectSingleNode("flvLists/item");//打开节点XmlElementxe=(XmlElement)nodePath;xe.SetAttribute("title",path);//设置元素的属性doc.Save(xmlPath);//保存}//codego.net/1/1/1///播放FLV视频文件privatevoidplayFLV(stringpath)//播放FLV文件的方法{FileInfofi2=newFileInfo(path);//实例化FileInfoif(fi2.Exists)//如果文件存在{Directory.CreateDirectory("c:\flvVidio");//新建文件夹//随机生成文件名stringnewPath="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属性}}//添加播放列表privatevoid打开文件ToolStripMenuItem_Click(objectsender,EventArgse){if(openFileDialog1.ShowDialog()==DialogResult.OK)//选择文件{listView1.Items.Clear();//清空ListView控件string[]files=openFileDialog1.FileNames;//声明数组存储选择的文件for(inti=0;i<files.Length;i++)//遍历数组{stringflvPath=files[i];//获取路径//获取文件名称stringflvName=flvPath.Substring(flvPath.LastIndexOf("\")+1,flvPath.Length-flvPath.LastIndexOf("\")-1);fi=newFileInfo(flvPath);//实例化FileInfoflv[0]=flvName;//文件名称flv[1]=flvPath;//文件路径flv[2]=Convert.ToString(fi.Length/1024)+"KB";//文件大小ListViewItemlvi=newListViewItem(flv);//创建ListViewItem实例listView1.Items.Add(lvi);//添加到ListView控件中}}}//添加列表后选择路径播放该文件privatevoidlistView1_MouseDoubleClick(objectsender,MouseEventArgse){try{if(listView1.SelectedItems.Count>0)//判断是否添加了要播放的文件{stringpath=listView1.SelectedItems[0].SubItems[1].Text;//获取FLV文件的路径playFLV(path);//调用playFLV方法播放FLV文件}}catch{}}
解决方案八:
为什么我用这个方法,编译器说没有没有Save这个定义,求教