Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将mp4转换为mp3_C#_Vb.net_Ffmpeg - Fatal编程技术网

C# 将mp4转换为mp3

C# 将mp4转换为mp3,c#,vb.net,ffmpeg,C#,Vb.net,Ffmpeg,我正在寻找一些库或代码,将允许我把mp4视频转换成mp3。 我希望它是免费的,并且与最新的.NET framework(4)兼容 此外,如果可能的话,我正在寻找一个免费的ffmpeg包装器,我可以在我的vb.net应用程序中没有试用版或MessageBox 如果没有免费的ffmpeg包装器,有人能告诉我如何使用命令行和ffmpeg执行从mp4到mp3的转换吗?您只需启动一个进程(System.Diagnostics.process)并在需要时隐藏ffmpeg窗口。控制台输出可以重定向到Strin

我正在寻找一些库或代码,将允许我把mp4视频转换成mp3。 我希望它是免费的,并且与最新的.NET framework(4)兼容

此外,如果可能的话,我正在寻找一个免费的ffmpeg包装器,我可以在我的vb.net应用程序中没有试用版或MessageBox


如果没有免费的ffmpeg包装器,有人能告诉我如何使用命令行和ffmpeg执行从mp4到mp3的转换吗?

您只需启动一个进程(System.Diagnostics.process)并在需要时隐藏ffmpeg窗口。控制台输出可以重定向到StringBuilder或类似版本

对于转换,可以使用以下内容

ffmpeg.exe -i input.mp4 -vn -f mp3 -ab 192k output.mp3

-如果您的mp4文件没有视频,则不需要vn。

您可以使用以下代码在vb.net中处理/执行ffmpeg命令

 Dim _out As String = ""
 Dim _process As New Process()
 _process.StartInfo.UseShellExecute = False
 _process.StartInfo.RedirectStandardInput = True
 _process.StartInfo.RedirectStandardOutput = True
 _process.StartInfo.RedirectStandardError = True
 _process.StartInfo.CreateNoWindow = True
 _process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
 _process.StartInfo.FileName = "ffmpeg";
 _process.StartInfo.Arguments = " -i input.mp4 -vn -f mp3 -ab 192k output.mp3";
 _process.Start()
 _process.StandardOutput.ReadToEnd()
 _out = _process.StandardError.ReadToEnd()
 _process.WaitForExit()
 If Not _process.HasExited Then
    _process.Kill()
 End If
 Return _out

结果,您将收到ffmpeg输出和mp3音频文件。为了更好的编码性能和解析ffmpeg输出,我建议使用ffmpeg包装器i get error on
\u process.Start()
找不到文件您必须提供ffmpegI的完整路径,我使用openfiledialog获取完整的文件路径。这是我的参数代码:
\u process.StartInfo.Arguments=“-i”&OpenFileDialog1.FileName&“-vn-f mp3-ab 192k”&Application.startpath&“\output.mp3”
确定您也必须使用ffmpeg的完整路径_process.StartInfo.FileName=“完成\u FFMPEG\u路径”;哦,好吧,我修正了,但现在我从以下方面得到了:元数据:编码器:Lavf52.111.0持续时间:00:00:37.27,开始:0.000000,比特率:934kb/s流#0:0:视频:mpeg4(简单配置文件)(DIVX/0x58564944),yuv420p,1280x720[SAR 1:1 DAR 16:9],29.97fps,29.97tbr,29.97tbn,30k tbc流#0:1:音频:mp2(P[0][0][0]/0x0050),44100 Hz,立体声,S16128 kb/s[NULL@03578100]找不到适合“Studio”Studio的输出格式:参数无效