Windows phone 7 如何在Windows Phone 7上启动YouTube URL

Windows phone 7 如何在Windows Phone 7上启动YouTube URL,windows-phone-7,youtube,Windows Phone 7,Youtube,我想直接在WindowsPhone7上启动YouTube播放器 我尝试使用WebBrowserTask并提供YouTube URL,它打开浏览器并将我带到带有YouTube视频缩略图的页面,我需要在视频播放之前单击缩略图 我想跳过额外的点击。我喜欢用户在我的应用程序中点击一个按钮,它应该直接播放视频。有办法吗?没有。下一版本的操作系统中可能会有自定义的选择器和午餐器。要显示来自YouTube的视频,您需要YouTube的视频播放器。否则,您需要编写一个自定义解码器来接收YouTube流并将其显示

我想直接在WindowsPhone7上启动YouTube播放器

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


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

没有。下一版本的操作系统中可能会有自定义的选择器和午餐器。

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

正如您发现的那样,这目前是不可能的

除了使用启动器或选择器之外,目前无法启动其他应用程序

在YouTube网站上,可以将单个视频配置为自动播放或不自动播放。我不知道有什么方法可以推翻这个

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


注意:YouTube应用程序具有特殊的提升权限(通常不可用),可以按原样启动。

安装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应用程序。干杯

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


尝试使用以下示例

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

这应该可以直接打开视频,但我认为您仍然需要双击才能返回。

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

C#


不幸的是Launcher.launchurisync方法仅适用于
Windows Phone 8
设备及其他设备。

谢谢!这对我来说很有效,有没有办法在视频结束后回到我的应用程序?据我所知,还没有。当前描述的方法只是一种变通方法,用户确实需要点击后退按钮两次才能返回到应用程序。不幸的是,在这一点上,我们无法监视,或者有任何类型的委托方法来指示电影停止播放。URL属性已过时,URI只接受绝对URI在这种情况下该怎么办?
 Windows.System.Launcher.LaunchUriAsync(

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

 );