Проблемы с Silverlight 4 MediaElement Source Uri - PullRequest
3 голосов
/ 13 июля 2010

У меня проблемы с настройкой свойства Silverlight 4 MediaElement Source в моем приложении ASP.NET MVC 2.У меня есть машина для разработки Windows 7 и промежуточный сервер Windows Server 2008.

Локально я использую источник MediaElement, такой как:

<MediaElement x:Name="VideoMediaElement" Source="Assets/126.mp4">
...
</MediaElement>

Этот источник работает на моей машине для разработки и моей подготовкесервер, но я обнаружил, что это работает только в Google Chrome.После большого количества исследований и тестирования я преобразовал свое приложение, чтобы установить источник:

<MediaElement x:Name="VideoMediaElement" Source="http://localhost:40000/ClientBin/Assets/126.mp4">
...
</MediaElement>

Использование этого типа Uri позволяет моему видео воспроизводиться на моем локальном сервере в ИнтернетеExplorer, а также Google Chrome.Когда я отправляю это на свой промежуточный сервер, путь вычисляется следующим образом:

<MediaElement x:Name="VideoMediaElement" Source="http://myDomain/MyVirtualDir/ClientBin/Assets/126.mp4">
...
</MediaElement>

Мне это выглядит нормально, но видео не будет воспроизводиться ни в одном браузере на промежуточном сервере.

Различия, которые я вижу между моей средой разработки и промежуточным сервером, - это виртуальный каталог.Существуют ли известные проблемы или приемы при настройке полного Uri, включающего виртуальный каталог?

Каков предпочтительный способ загрузки видеофайла из файловой структуры в Silverlight 4 MediaElement?

Ответы [ 2 ]

2 голосов
/ 14 июля 2010

Мои первые шаги в диагностике это были бы: -

  • прекратить использование хрома. Заставьте все это работать в IE, затем протестируйте другие браузеры.
  • прекратить использовать полный URL. Учитывая, что XAP, страница хоста и ресурс находятся на одном сервере, мы знаем , нам это не нужно, поэтому давайте не будем его использовать.
  • Не используйте браузер, работающий на промежуточном сервере, используйте другой клиентский компьютер для тестирования.
  • Установите Fiddler2 на клиентском компьютере в соответствии с информацией о сервере и посмотрите, что на самом деле запрашивается.

Вы пробовали "/assets/126.mp4" вместо "assets / 126.mp4"?

Если вы получаете 404 из URL, который выглядит хорошо, проверьте карту MIME сервера, есть ли сопоставление для .mp4?

Также проверьте безопасность доступа к файлу.

0 голосов
/ 14 июля 2010

Проверял ли fiddler, что говорит вам фактический запрос / ответ http? Может быть, есть информация о безопасности (междоменный доступ) или, по крайней мере, вы получите более подробную информацию о том, что происходит под прикрытием ... Вы можете найти скрипач прямо здесь: http://www.fiddler2.com/fiddler2/

...