正在尝试使用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时,脚本就不见了。

也许这就是问题所在?有人知道如何解决这个问题吗,或者也许你已经用不同的方式做了类似的事情?

很抱歉问了这么长的问题,谢谢!

正在尝试使用MediaPlayerLauncher播放youtube视频

您最好使用WebBrowserTask或API来获取URL。

相关文章:
  • 没有找到相关文章