尝试下载通过 YouTube-to-MP3 API 生成的 MP3,但我得到的只是一个 0 字节的 MP3 文件
Posted
技术标签:
【中文标题】尝试下载通过 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 【发布时间】:2016-10-09 19:23:54 【问题描述】:我正在使用这个 (https://www.youtubeinmp3.com/api/) API 来获取下载 YouTube 视频 MP3 版本的链接。 API 不会让我直接访问 .mp3 文件,而是访问生成的“网页”,该网页会立即开始下载。
现在我的问题是,我正在使用 BackgroundDownloader 类下载 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);
【问题讨论】:
什么是dlurl
dlurl 是下载的url,我从api得到的url,看起来是这样的:youtubeinmp3.com/download/get/…
【参考方案1】:
我建议使用这个自定义库,它支持使用自定义比特率和自定义视频/音频格式(包括 mp3)“直接”下载 youtube 视频。
YoutubeExtractor-lib
您可以使用 NUGET 包管理器轻松安装它:
Install-Package YoutubeExtractor
问候Kyon。
【讨论】:
以上是关于尝试下载通过 YouTube-to-MP3 API 生成的 MP3,但我得到的只是一个 0 字节的 MP3 文件的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 python API 下载历史 Azure ML 实验运行的输出