尝试下载通过 YouTube-to-MP3 API 生成的 MP3,但我得到的只是一个 0 字节的 MP3 文件

Trying to download MP3 generated through YouTube-to-MP3 API, but all I get is a 0 byte MP3 file

我正在使用这个 (https://www.youtubeinmp3.com/api/) API 来获取用于下载 YouTube 视频的 MP3 版本的链接。 API 不能让我直接访问 .mp3 文件,而是可以访问生成的 "webpage" 并立即开始下载。

现在我的问题是,我正在使用 BackgroundDownloader class 下载 MP3,但我相信我正在下载一个空的 HTML-页面而不是实际的 MP3 文件。

我的代码如下所示:

Uri source = new Uri(dlurl);

StorageFolder folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFile destinationFile = await folder.CreateFileAsync(
dltitle + ".mp3", CreationCollisionOption.GenerateUniqueName);

BackgroundDownloader downloader = new BackgroundDownloader();
DownloadOperation download = downloader.CreateDownload(source, destinationFile);

// Attach progress and completion handlers.
HandleDownloadAsync(download, true);

我建议使用此自定义库,它支持 "direct" 具有自定义比特率的 youtube 视频下载以及自定义 video/audio 格式(包括 mp3)。

YoutubeExtractor-lib

您可以使用 NUGET 包管理器轻松安装它:

Install-Package YoutubeExtractor

你好 Kyon。