【问题标题】:How to launch a YouTube URL on Windows Phone 7如何在 Windows Phone 7 上启动 YouTube URL
【发布时间】:2010-11-13 02:18:20
【问题描述】:

我想在 Windows Phone 7 上直接启动 YouTube 播放器。

我尝试使用 WebBrowserTask 并提供一个 YouTube URL,它会打开浏览器并将我带到一个带有 YouTube 视频缩略图的页面,我需要在视频播放之前单击缩略图。

我喜欢跳过额外的点击。我喜欢用户在我的应用程序中单击一个按钮,它应该直接播放视频。有办法吗?

【问题讨论】:

    标签: windows-phone-7 youtube


    【解决方案1】:

    一旦您安装了 Youtube 应用程序,您就可以在您的应用程序中启动 WebBrowserTask 并执行以下操作:

            Regex Youtube = new Regex("youtu(?:\\.be|be\\.com)/(?:.*v(?:/|=)|(?:.*/)?)([a-zA-Z0-9-_]+)");            
    
            Match youtubeMatch = Youtube.Match(YOUTUBE_VIDEO_URL);           
    
            string id = string.Empty;
    
            if (youtubeMatch.Success)
                id = youtubeMatch.Groups[1].Value; 
    
            WebBrowserTask webBrowserTask = new WebBrowserTask();
    
    
            webBrowserTask.URL = "vnd.youtube:"+ id +"?vndapp=youtube_mobile";
            webBrowserTask.Show();
    

    这应该会启动浏览器,然后自动启动 Youtube 应用程序。干杯!

    【讨论】:

    • 谢谢!这对我有用,有没有办法在视频结束后返回我的应用程序?
    • 据我所知,还没有。当前描述的方法只是一种解决方法,用户确实需要在返回按钮上点击两次才能返回到您的应用程序。不幸的是,此时我们无法监控,也无法使用任何类型的委托方法来指示电影停止播放。
    • URL 属性已过时,URI 只接受绝对 URI 在这种情况下该怎么办?
    【解决方案2】:

    最后我制定了一个干净的解决方案(没有浏览器任务,也没有“双后退键”):

    http://mytoolkit.codeplex.com/wikipage?title=YouTube

    【讨论】:

      【解决方案3】:

      尝试使用以下示例;

        WebBrowserTask webBrowserTask = new WebBrowserTask();
        webBrowserTask.Uri = new Uri("http://www.youtube.com/embed/V3oJR5IAMxM?autoplay=1");
        webBrowserTask.Show();
      

      这应该直接打开视频,但我认为你仍然必须双击才能返回。

      【讨论】:

        【解决方案4】:

        现在有一个解决方案。您可以使用 vnd.youtube 协议从 Microsoft 启动 YouTube 应用程序并播放。

        C#

         Windows.System.Launcher.LaunchUriAsync(
        
         new System.Uri("vnd.youtube:9bZkp7q19f0")
        
         );
        

        不幸的是,Launcher.LaunchUriAsync 方法仅适用于Windows Phone 8 及以上设备。

        【讨论】:

          【解决方案5】:

          没有。下一版操作系统中的 Mabe 将是自定义选择器和午餐器。

          【讨论】:

            【解决方案6】:

            要显示来自 YouTube 的视频,您需要 YouTube 视频播放器。否则,您将需要编写一个自定义解码器来接收 YouTube 流并将其显示在 MediaElement 中。

            【讨论】:

              【解决方案7】:

              正如您所发现的,目前这是不可能的。

              除了使用启动器或选择器之外,目前无法启动另一个应用程序。

              在 YouTube 网站上,可以将各个视频配置为自动播放或不自动播放。我不知道有一种方法可以覆盖它。

              但是,在电话上,情况就不同了。 YouTube 使用 Flash 播放视频,但手机目前不支持 Flash。只有安装了 YouTube 应用程序才能播放 YouTube 视频。当您使用 webbrowsertask 打开 youtube 站点时,用户必须单击图像才能启动播放器。
              如果网页能够在不需要用户操作的情况下启动应用程序,这可能是一个巨大的安全问题。

              注意YouTube 应用程序具有特殊的提升权限,通常不可用,以便能够以它的方式启动。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2011-07-12
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2011-10-14
                • 2011-08-30
                相关资源
                最近更新 更多