Как я могу обработать поток ASX, который использует функции, которые не поддерживает Silverlight (например, REPEAT) - PullRequest
0 голосов
/ 20 января 2009

Я пытаюсь отобразить видеопоток, предоставленный в виде списка воспроизведения на стороне сервера (ASX) другой стороной. Список воспроизведения содержит некоторые неподдерживаемые функции, такие как повтор:

<ASX VERSION="3.0">
  <REPEAT COUNT="4">
    <EntryRef href="http://some-ad-network.com/ad.asx" />
    <Entry>
      <Ref href="http://video-host/content-primary-source"></Ref>
    </Entry>
    <Entry>
      <Ref href="http://video-host/content-secondary-source"></Ref>
    </Entry>
  </REPEAT>
</ASX>

Silverlight 2.0 не поддерживает элемент REPEAT и выдает исключение:

Элемент REPEAT: это не поддерживается и вызовет MediaError с AG _ E _ ASX _ НЕ ПОДДЕРЖИВАЕТСЯ _ ЭЛЕМЕНТ.

Есть ли обходной путь? Могу ли я извлечь файл ASX через HttpWebRequest, проанализировать его и запросить потоки по отдельности? Вы знаете где-нибудь библиотеку или пример кода, который обрабатывает ASX-файл?

Ответы [ 3 ]

0 голосов
/ 26 января 2009

В итоге мне пришлось самому анализировать файл ASX и вручную загружать элементы. Предложение Питера полезно, если файл ASX загрузится, но синтаксический анализатор Silverlight ASX выдает исключения, когда он встречает большинство неподдерживаемых элементов, поэтому вы никогда не получите возможность загрузки из свойства Attributes.

0 голосов
/ 15 февраля 2009

Я также сделал собственный анализатор asx из-за плохой обработки asx в MediaElement. Исправляет несколько ошибок, см. http://blog.revolunet.com/index.php/general/wpf-mediaelement-asx-workaround

0 голосов
/ 20 января 2009

Атрибуты получают коллекцию объектов MediaAttribute, которая соответствует текущей записи в файле ASX, для которой установлен Source. Вот пример JavaScript:

http://msdn.microsoft.com/en-us/library/bb412367.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...