正在尝试使用MediaPlayerLauncher播放youtube视频
本文关键字:MediaPlayerLauncher 播放 youtube 视频 | 更新日期: 2023-09-27 18:21:52
我正在编写一个windows phone 7.1应用程序,当用户单击特定按钮时,将使用MediaPlayerLauncher播放youtube视频。
问题是,MediaPlayerLauncher不能仅仅通过提供视频的url来播放视频;视频的链接本身就在页面的html中。现在,我通过使用WebClient()下载html并从中提取视频链接,为"客户端"附加此事件,我的WebClient:,成功地提取了该html
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_SCRPT",它可以检测youtube视频的存在(如果你想了解更多细节,视频的链接基本上在一个标签中,所以我只需要获取所有标签,找到带有链接的标签,并获取其内容(链接))。
但是,这仍然不起作用。我试着安装一个WebBrowser,让它在每次WebBrowser导航时导航并触发事件,以确保它导航到正确的页面。但有时,它无法正常导航;它被卡在中间页面上或转到原始youtube页面。因此,我决定查看传入的html。由于某种原因,传入的html缺少youtube的脚本。我用浏览器检查了youtube页面上的脚本(我去了移动网页并"检查了元素"),那里有一个脚本,但当WebClient获得html时,脚本就不见了。
也许这就是问题所在?有人知道如何解决这个问题吗,或者也许你已经用不同的方式做了类似的事情?
很抱歉问了这么长的问题,谢谢!
您最好使用WebBrowserTask或API来获取URL。