【问题标题】:download audio from youtube c#从 youtube c# 下载音频
【发布时间】:2017-04-20 10:45:13
【问题描述】:

我正在尝试使用 YoutubeExtractor 从 youtube 下载音频,但如果单击按钮,我会得到“序列没有元素”的信息。我该如何解决?

private void button2_Click(object sender, EventArgs e)
{
    try
    {
        IEnumerable<VideoInfo> videos = DownloadUrlResolver.GetDownloadUrls(textBox1.Text);

        VideoInfo video = videos.Where(info => info.CanExtractAudio).OrderByDescending(info => info.AudioBitrate).First();

        if (video.RequiresDecryption)
        {
            DownloadUrlResolver.DecryptDownloadUrl(video);
        }
        AudioDownloader download = new AudioDownloader(video, Path.Combine(Application.StartupPath + "\\", video.Title + video.AudioExtension));

        download.Execute();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
} 

【问题讨论】:

  • 您知道 YoutubeExtractor 音频提取目前仅适用于 Flash 视频吗?
  • 我想做上面的代码还需要在这个东西上安装什么类型的库

标签: c# winforms youtube


【解决方案1】:

问题是对First() 的调用。如果您的 IEnumerable 不包含任何项目,这将引发异常。

要纠正这个问题,您需要确定两件事:

  1. DownloadUrlResolver.GetDownloadUrls() 函数至少返回 1 项。
  2. videos 变量中的至少一项将CanExtractAudio 设置为true

【讨论】:

  • 如何使用 DownloadUrlResolver.GetDownloadUrls() 返回一项; ?
猜你喜欢
  • 1970-01-01
  • 2020-08-03
  • 2017-02-14
  • 2018-08-18
  • 2015-02-12
  • 2010-11-08
  • 2011-06-08
  • 2021-01-13
相关资源
最近更新 更多