急:我用mediaplayer播放视频,我想在点击一下button,就截取当前播放器的视图,怎么实现??? 我用mediaplayer播放视频,设置一个button,我想在点击一下button,就截取当前播放器的视图保存到指定目录,怎么实现??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public string CatchImg(string vFileName){//取得ffmpeg.exe的路径,路径配置在Web.Config中,如:<add key="ffmpeg" value="E:\ffmpeg\ffmpeg.exe" />string ffmpeg=System.Configuration.ConfigurationSettings.AppSettings["ffmpeg"];if ( (!System.IO.File.Exists(ffmpeg)) || (!System.IO.File.Exists(vFileName)) ){return "";}//获得图片相对路径/最后存储到数据库的路径,如:/Web/FlvFile/User1/00001.jpgstring flv_img = System.IO.Path.ChangeExtension(vFileName,".jpg") ;//图片绝对路径,如:D:\Video\Web\FlvFile\User1\0001.jpgstring flv_img_p = HttpContext.Current.Server.MapPath(flv_img);//截图的尺寸大小,配置在Web.Config中,如:<add key="CatchFlvImgSize" value="240x180" />string FlvImgSize=System.Configuration.ConfigurationSettings.AppSettings["CatchFlvImgSize"];System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(ffmpeg);startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; //此处组合成ffmpeg.exe文件需要的参数即可,此处命令在ffmpeg 0.4.9调试通过startInfo.Arguments = " -i " + vFileName + " -y -f image2 -t 0.001 -s " + FlvImgSize + " " + flv_img_p ;try {System.Diagnostics.Process.Start(startInfo);}catch{return "";}///注意:图片截取成功后,数据由内存缓存写到磁盘需要时间较长,大概在3,4秒甚至更长;///这儿需要延时后再检测,我服务器延时8秒,即如果超过8秒图片仍不存在,认为截图失败;///此处略去延时代码.如有那位知道如何捕捉ffmpeg.exe截图失败消息,请告知,先谢过!if ( System.IO.File.Exists(flv_img_p)){return flv_img; }return "";} 程序哪里表示从mediaplayer中截取图呢??? vs2010 怎么添加用户控件? 如何获取正在使用的输入法 DataGridView中的行是怎么计算的啊? c#中什么语句可以起到c中system pause的作用? 请教在win98,ie5环境下问题 问个超级简单的问题 求正则表达式[除了A-Z,a-z,0-9,=,:,*这些字符外、其他全部过滤掉] C# 串口通信 关于C#中ASCII字符的表示? 继承了一个Windows的窗体控件,生成Mytree.cs,但可视化界面确显示不出来! 取得网站内容的问题,急,在线等结果 经典的OA系统源代码
{
//取得ffmpeg.exe的路径,路径配置在Web.Config中,如:<add key="ffmpeg" value="E:\ffmpeg\ffmpeg.exe" />
string ffmpeg=System.Configuration.ConfigurationSettings.AppSettings["ffmpeg"];if ( (!System.IO.File.Exists(ffmpeg)) || (!System.IO.File.Exists(vFileName)) )
{
return "";
}//获得图片相对路径/最后存储到数据库的路径,如:/Web/FlvFile/User1/00001.jpg
string flv_img = System.IO.Path.ChangeExtension(vFileName,".jpg") ;//图片绝对路径,如:D:\Video\Web\FlvFile\User1\0001.jpg
string flv_img_p = HttpContext.Current.Server.MapPath(flv_img);//截图的尺寸大小,配置在Web.Config中,如:<add key="CatchFlvImgSize" value="240x180" />
string FlvImgSize=System.Configuration.ConfigurationSettings.AppSettings["CatchFlvImgSize"];System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(ffmpeg);
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; //此处组合成ffmpeg.exe文件需要的参数即可,此处命令在ffmpeg 0.4.9调试通过
startInfo.Arguments = " -i " + vFileName + " -y -f image2 -t 0.001 -s " + FlvImgSize + " " + flv_img_p ;try
{
System.Diagnostics.Process.Start(startInfo);
}
catch
{
return "";
}///注意:图片截取成功后,数据由内存缓存写到磁盘需要时间较长,大概在3,4秒甚至更长;
///这儿需要延时后再检测,我服务器延时8秒,即如果超过8秒图片仍不存在,认为截图失败;
///此处略去延时代码.如有那位知道如何捕捉ffmpeg.exe截图失败消息,请告知,先谢过!
if ( System.IO.File.Exists(flv_img_p))
{
return flv_img;
}return "";
}