Я кодирую приложение Windows Phone 7.1, и когда пользователь нажимает определенную кнопку, видео на YouTube будет воспроизводиться с помощью MediaPlayerLauncher.
Проблема в том, что MediaPlayerLauncher не может воспроизвести видео толькодать ему URL видео;Сама ссылка на видео находится в HTML страницы.Теперь мне удалось извлечь этот html, используя WebClient () для загрузки html и извлечь из него ссылку на видео, прикрепив это событие для 'client', моего WebClient:
void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
pageHtml = e.Result;
stringBuilder = new StringBuilder(pageHtml);
if (pageHtml != null)
{
if (pageHtml.Contains("<html"))
{
if (pageHtml.Contains("<script"))
{
stringBuilder.Replace("</script>", string.Format("{0}{1}</script>", NOTIFY_SCRIPT, Environment.NewLine));
}
else if (pageHtml.Contains("<head"))
{
stringBuilder.Replace("</head>", string.Format("{0}{1}</head>", NOTIFY_SCRIPT, Environment.NewLine));
}
else
{
stringBuilder.Replace("</html>", string.Format("{0}{1}</html>", NOTIFY_SCRIPT, Environment.NewLine));
}
}
else
{
//Just skip it or display an error message or whatever
}
rssBrowser.NavigateToString(stringBuilder.ToString());
}
}
По сути,Я добавляю скрипт NOTIFY_SCRIPT, который обнаруживает присутствие видео на YouTube (если вы хотите получить более подробную информацию об этом, ссылка на видео в основном в теге, поэтому я просто получаю все теги, найдите тот, на котором есть ссылка,и получить его содержимое (ссылка)).
Но, тем не менее, это просто не работает.Я попытался установить веб-браузер и заставить его перемещаться и запускать событие каждый раз, когда веб-браузер перемещается, чтобы убедиться, что он переходит на правильную страницу.Но иногда он не перемещается должным образом;он застревает на промежуточной странице или переходит на исходную страницу YouTube.Итак, я решил взглянуть на входящий HTML.По какой-то причине во входящем html отсутствует скрипт youtube.Я проверил скрипт на странице YouTube с помощью своего браузера (я зашел на мобильную веб-страницу и «проверил элемент»), и там есть скрипт, но когда WebClient получает html, скрипт отсутствует.
Так может в этом проблема?Кто-нибудь знает, как решить эту проблему, или, может быть, вы уже сделали что-то подобное по-другому?
Извините за длинный вопрос, и спасибо!