私は 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 文字を超えます。一部の URL ではvideo.URI
、 が例外をスローすることが判明しています。
タイプ 'System.ArgumentOutOfRangeException' の未処理の例外が mscorlib.dll で発生しました
提供されたコードでは、link
引数として渡すと、渡すときに問題なくスローされますlink2
。
- これを修正できますか?
- そうでない場合、これらの例外をどのように処理すればよいですか? 試して、キャッチして報告するか、より良いアイデアの前にチェックしていますか?