我对 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
工作得很好。
- 我可以解决这个问题吗?
- 如果没有,我应该如何处理这些异常?只是尝试,捕捉和报告,还是在更好的想法之前检查?