注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Mlader的博客

发牢骚

 
 
 

日志

 
 

.net 调用 ffmpeg 转换音频文件amr - mp3  

2014-07-07 14:44:56|  分类: C# |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

/// <summary>
///
/// </summary>
/// <param name="FromName">需要转换的名字amr</param>
public void ConvertVideo(string FromName)
{
string ExportName = System.IO.Path.ChangeExtension(FromName, ".mp3");
string FromNamePath = System.Web.HttpContext.Current.Server.MapPath("images") + @"\" + FromName;
string ExportNamePath = System.Web.HttpContext.Current.Server.MapPath("images") + @"\" + ExportName;
//如果存在 不转换
if (File.Exists(ExportNamePath) == true)
{
//File.Create(ExportNamePath);
return;
}

Process p = new Process();//建立外部调用线程
//p.StartInfo.FileName = @"D:\ffmpeg.exe";//要调用外部程序的绝对路径
p.StartInfo.FileName = xml.getXML(System.Web.HttpContext.Current.Server.MapPath("ConfigFile/weixinInterface.xml"), "ffmpeg");
p.StartInfo.Arguments = "-i " + FromNamePath + " " + ExportNamePath;//+ " -i";//参数(这里就是FFMPEG的参数了)
p.StartInfo.UseShellExecute = false;//不使用操作系统外壳程序启动线程(一定为FALSE,详细的请看MSDN)
p.StartInfo.RedirectStandardError = true;//把外部程序错误输出写到StandardError流中(这个一定要注意,FFMPEG的所有输出信息,都为错误输出流,用StandardOutput是捕获不到任何消息的这是我耗费了2个多月得出来的经验mencoder就是用standardOutput来捕获的)
p.StartInfo.CreateNoWindow = false;//不创建进程窗口
p.ErrorDataReceived += new DataReceivedEventHandler(Output);//外部程序(这里是FFMPEG)输出流时候产生的事件,这里是把流的处理过程转移到下面的方法中,详细请查阅MSDN
p.Start();//启动线程
p.BeginErrorReadLine();//开始异步读取
p.WaitForExit();//阻塞等待进程结束
p.Close();//关闭进程
p.Dispose();//释放资源
}

private void Output(object sendProcess, DataReceivedEventArgs output)
{
if (!String.IsNullOrEmpty(output.Data))
{
//处理方法
cc = cc + "\n" + output.Data;//输出结果的提示
}
}

碰到 一点坑爹的问题   文件的路径名 不能有空格如“Visual Studio 2010”  这样的目录是不行的 
在cmd里调试 的方法是  ffmpeg  -i  123.amr  123.mp3 (到ffmpeg的根目录) 最后面 是不需要-i的
http://pan.baidu.com/s/1i386Bjv   ffmpeg.EXE的下载地址 直接用就可以  注意使用时 用绝对路径
  评论这张
 
阅读(1278)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018