我对C#没有经验,但我得到了基础知识。现在我正尝试使用视频库从YouTube下载视频(在VS包管理器中: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个字符。有些网址会导致video.URI
抛出异常:
mscorlib.dll中出现未处理的“System.ArgumentOutOfRangeException”类型异常
在提供的代码中,传递link
作为参数抛出,而传递link2
的工作正常。