Когда вы копируете данные из результата в изолированное хранилище, вы всегда записываете все содержимое буфера, независимо от того, сколько вы прочитали.Ваш цикл должен выглядеть следующим образом:
using (var stream = new IsolatedStorageFileStream("file." + fileext,
FileMode.Create, file))
{
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = e.Result.Read(buffer, 0, buffer.Length)) > 0)
{
stream.Write(buffer, 0, bytesRead);
}
}
(я не проверял, все ли это неправильно, но похоже, что это помогло ...)
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Iработать на Google, но я не имею представления о законности того, что вы делаете в отношении лицензии YouTube.Пожалуйста, не рассматривайте этот ответ как какое-либо указание на мнение от Google.Этот ответ, на мой взгляд, является просто исправлением некоторой общей обработки потока.