有没有简单的方法从mp4文件中提取mp3文件?
我已经尝试更改文件扩展名,但这样无法编辑mp3描述。
谢谢!
有没有简单的方法从mp4文件中提取mp3文件?
我已经尝试更改文件扩展名,但这样无法编辑mp3描述。
谢谢!
使用Xabe.FFmpeg。它是免费的(非商业用途),在GitHub上有公共代码库,支持跨平台(使用.NET Standard编写)。
只需三行即可从mp4中提取mp3:
string output = Path.ChangeExtension(Path.GetTempFileName(), FileExtensions.Mp3);
IConversionResult result = await Conversion.ExtractAudio(Resources.Mp4WithAudio, output)
.Start();
这需要像其他答案一样的FFmpeg可执行文件,但您可以通过下载来获取它
FFmpeg.GetLatestVersion();
完整文档可在此处查看 - Xabe.FFmpeg 文档
using System;
using System.Diagnostics;
namespace ConvertMP4ToMP3
{
internal class Program
{
static void Main(string[] args)
{
var inputFile = args[0] + ".mp4";
var outputFile = args[1] + ".mp3";
var mp3out = "";
var ffmpegProcess = new Process();
ffmpegProcess.StartInfo.UseShellExecute = false;
ffmpegProcess.StartInfo.RedirectStandardInput = true;
ffmpegProcess.StartInfo.RedirectStandardOutput = true;
ffmpegProcess.StartInfo.RedirectStandardError = true;
ffmpegProcess.StartInfo.CreateNoWindow = true;
ffmpegProcess.StartInfo.FileName = "//path/to/ffmpeg";
ffmpegProcess.StartInfo.Arguments = " -i " + inputFile + " -vn -f mp3 -ab 320k output " + outputFile;
ffmpegProcess.Start();
ffmpegProcess.StandardOutput.ReadToEnd();
mp3out = ffmpegProcess.StandardError.ReadToEnd();
ffmpegProcess.WaitForExit();
if (!ffmpegProcess.HasExited)
{
ffmpegProcess.Kill();
}
Console.WriteLine(mp3out);
}
}
}
output
:" -i " + inputFile + " -vn -f mp3 -ab 320k " + outputFile;
- Mohammad Zamanian
mp3
的描述”。听起来你完全能够将mp4
转换为mp3
,只需要帮助设置描述。 - Max von Hippel