Хорошо, вот моя дилемма:
Я хотел узнать, как использовать NuGet, поэтому я протестировал его с помощью системы под названием VideoLibrary (https://www.nuget.org/packages/VideoLibrary/).). Я успешно установил его на свой компьютер и, наконец, установил, что он работает внутри кода. возможность успешно скачать видео, которое является целью расширения, однако оно было в неправильном формате. Итак, прочитав раздел вопросов и ответов, я получил этот код:
var youTube = YouTube.Default;
var allVideos = await youTube.GetAllVideosAsync(URL);
var mp4Videos = allVideos.Where(_ => _.Format == VideoFormat.Mp4);
Теперь, насколько я понимаю, сначала загружаются все видео, а затем устанавливается переменная только для видео MP4.
Однако после того, как это сделано, я не знаю, как сохранить его в байтовом массиве. Как правило, чтобы сохранить видео с помощью VideoLib, необходимо назначить его байтовому массиву, а затем сохранить байтовый массив в файл. Поэтому я использовал этот код ранее с видео, которое не было асинхронным:
byte[] bytes = video.GetBytes();
var stream = video.Stream();
File.WriteAllBytes(@"C:\" + fullName, bytes);
Теперь этот метод не работает с моими видео сейчас, потому что они асинхронные. Позже разработчик упомянул, что вы можете назначить видео байтовому массиву, используя:
byte[] bytes = allVideos.GetBytesAsync();
Однако по какой-то причине это не работает.
Я предполагаю, что я использую это неправильно, и именно поэтому, но я не знаю.
Код подчеркнут красным, и он дает:
'IEnumerable<YouTubeVideo>' does not contain a definition to 'GetBytesAsync'
and no extension method 'GetBytesAsync accepting a first argument of type
'IEnumerable<YouTubeVideo>'coulb be found
Буду признателен за любую помощь.