【发布时间】:2018-05-24 04:49:12
【问题描述】:
我正在尝试创建一个应用程序,允许用户在 Xamarin.Forms 中下载 youtube 视频的音频。我可以使用“VideoLibrary”下载视频,并在 C# 控制台应用程序中使用“MediaToolkit”将其转换为 mp3,而不会出现任何错误。
static void DownloadAudio(string videoUrl, string saveDir)
{
YouTube youtube = YouTube.Default;
Video vid = youtube.GetVideo(videoUrl);
File.WriteAllBytes(saveDir + vid.FullName, vid.GetBytes());
string originalFile = saveDir + vid.FullName;
var inputFile = new MediaToolkit.Model.MediaFile { Filename = saveDir + vid.FullName };
var outputFile = new MediaToolkit.Model.MediaFile { Filename = $"{saveDir + vid.FullName}.mp3" };
using (var engine = new MediaToolkit.Engine())
{
engine.GetMetadata(inputFile);
engine.Convert(inputFile, outputFile);
if (File.Exists(originalFile))
{
File.Delete(originalFile);
}
}
}
问题是这在 Xamarin 中不起作用。只能安装不包含 Engine 或 MediaFile 定义的可移植版本的 nuget 包。
此外,并非所有视频都以.mp4 下载,有些视频以.webm 下载。我需要输出文件为.mp3 和.mp4。
如何在 Xamarin.Forms 中将视频文件转换为音频文件?
【问题讨论】:
标签: c# audio xamarin.forms file-conversion