尝试下载通过 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)。
您可以使用 NUGET 包管理器轻松安装它:
Install-Package YoutubeExtractor
你好 Kyon。
我正在使用这个 (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)。
您可以使用 NUGET 包管理器轻松安装它:
Install-Package YoutubeExtractor
你好 Kyon。