Как передавать потоковое видео с веб-сервера в Silverlight с помощью элемента управления ExpressionMediaPlayer? - PullRequest
2 голосов
/ 30 марта 2010

Я хотел бы передавать потоковое видео, которое находится на веб-сервере, из элемента управления ExpressionMediaPlayer. Следующее приводит к сетевой ошибке. Я считаю, что проблема с моим Ури. У меня есть видео в папке «ClentBin». Может кто-нибудь сказать мне, как это делается?

private void videoList_SelectionChanged(object sender, SelectionChangedEventArgs e)
         {
             var selectedVideo = (Video)videoList.SelectedItem;        
             PlaylistItem item = new PlaylistItem();
            item.MediaSource = new Uri(@"/ClientBin/" + selectedVideo.FilePath,         UriKind.RelativeOrAbsolute);
            item.IsAdaptiveStreaming = false;
            ep.Playlist.Items.Add(item);
         }

Спасибо! * * 1004

1 Ответ

2 голосов
/ 31 марта 2010

Может быть ряд факторов, способствующих сетевой ошибке в Expression Media Player. Вот несколько основных проверок ...

1. Проверьте сам видеофайл Запустите проигрыватель Windows Media, выберите «Файл»> «Открыть URL-адрес ...» и убедитесь, что вы можете воспроизводить видео с абсолютным URL-адресом, просто чтобы исключить основные проблемы с веб-сервером. (Обратите внимание, что это не применяется, если вы работаете с Adaptive Streaming, а это не так, как вы).

2. Что selectedVideo.FilePath содержит? Это простое имя файла (т.е. MyVideo.wmv) или относительный путь к файлу? Прямая или обратная косая черта?

3. Попробуйте это с абсолютным статическим URI Просто чтобы исключить проблемы относительного пути с вашим приложением / веб-сервером / любой конфигурацией виртуального каталога, попробуйте:

item.MediaSource = new Uri(@"http://mysite.com/ClientBin/MyVideo.wmv", UriKind.Absolute); 

4. Удалить косую черту из / ClientBin / Попробуйте просто new Uri(@"ClientBin/" + selectedVideo.FilePath, UriKind.Relative); и посмотрите, верен ли относительный путь.

...