1

我对 C# 没有经验,但我掌握了基础知识。现在我正在尝试使用视频库(在 VS 包管理器中:)从 YouTube 下载视频Install-Package VideoLibrary

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

using System.IO;
using VideoLibrary;

namespace TubeDemo
{
    public partial class MainWindow : Window
    {
        string link = "https://www.youtube.com/watch?v=8SbUC-UaAxE";
        string link2 = "https://www.youtube.com/watch?v=BlRqTNkgEuo";
        public MainWindow()
        {
            InitializeComponent();
        }
        void SaveVideoToDisk_Click(object sender, EventArgs e)
        {
            var youTube = YouTube.Default; // starting point for YouTube actions
            var video = youTube.GetVideo(link2); // gets a Video object with info about the video
            File.WriteAllBytes(@"C:\testfire\" + video.FullName, video.GetBytes());
        }
    }
}

上面的函数SaveVideoToDisk_Click是从 .xaml 按钮调用的,效果很好。但并非每个视频都能正常工作。video.URI变得非常大,超过800个字符。一些 URL 最终导致video.URI抛出异常:

mscorlib.dll 中出现“System.ArgumentOutOfRangeException”类型的未处理异常

在提供的代码中,link作为参数传递时会抛出,而传递link2工作得很好。

  1. 我可以解决这个问题吗?
  2. 如果没有,我应该如何处理这些异常?只是尝试,捕捉和报告,还是在更好的想法之前检查?
4

0 回答 0