如何在Windows Phone 7上打开YouTube链接

5

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

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

我想跳过额外的点击。 我希望用户在我的应用中点击一个按钮,它应该直接播放视频。 有没有办法做到这一点?

7个回答

8
一旦您安装了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应用程序。干杯!

谢谢!这对我有用,有没有办法在视频播放完后返回我的应用程序? - Abby Fichtner
1
据我所知,目前还没有。当前描述的方法只是一个解决方法,用户确实需要点击两次返回按钮才能回到您的应用程序。不幸的是,我们目前无法监视或拥有任何代理方法来指示电影停止播放。 - EdGs
1
URL属性已经过时,URI仅接受绝对URI,在这种情况下该怎么办? - Milan Aggarwal

2

1

尝试使用以下示例:

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

这应该直接打开视频,但我想你仍然需要双击才能返回。


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

C#

 Windows.System.Launcher.LaunchUriAsync(

 new System.Uri("vnd.youtube:9bZkp7q19f0")

 );

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


0

也许在下一个操作系统版本中会有自定义选择器和启动器。


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

0

正如您所发现的,目前还无法实现此功能。

目前除了使用启动器或选择器之外,没有其他方法可以启动另一个应用程序。

在YouTube网站上,可以配置单个视频是否自动播放。我不知道有什么方法可以覆盖这一点。

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

注:YouTube应用程序具有特殊的提升权限,通常不可用,以便以这种方式启动。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接