Windows Phone 7 - Воспроизведение потокового видео - PullRequest
2 голосов
/ 22 сентября 2011

На платформе WP7 (с использованием C # и Silverlight) я пытаюсь воспроизвести онлайн-поток в MediaElement ...

Вот код C #: (...)

WebClient wc = new WebClient();                
wc.OpenReadCompleted += (s, e) =>
  {
   try
   {
     mediaElement.SetSource(e.Result);
   }
   catch (Exception we)
   {
     System.Diagnostics.Debug.WriteLine(we.Message);
   }
  };
wc.OpenReadAsync(new Uri(url, UriKind.Absolute));

(...) Вот исходный код XAML:

<MediaElement Height="316" HorizontalAlignment="Left" Margin="6,6,0,0" Name="mediaElement" VerticalAlignment="Top" Width="450" AutoPlay="False" />

URL-адрес имеет тип http: //.../Manifest, а формат поддерживается платформой.

Когда вызывается SetSource, возникает исключение со следующим сообщением «Поток должен иметь тип IsolatedStorageFileStream».

Что я делаю не так?

Заранее спасибо за помощь Приветствия

1 Ответ

4 голосов
/ 22 сентября 2011

MSDN говорит:

Передача общего потока в SetSource (System.IO.Stream) не поддерживается в Silverlight для Windows Phone. Однако класс IsolatedStorageFileStream, производный от Stream, поддерживается в Silverlight для Windows Phone.

Вместо этого рассмотрите возможность установки свойства MediaElement.Source непосредственно в поток URI. Нет причины сначала «скачать» его.

...