我希望在Windows Phone 7上直接启动YouTube播放器。
我尝试使用WebBrowserTask并提供YouTube URL,它会打开浏览器并将我带到一个缩略图的页面,我需要在视频播放之前点击缩略图。
我想跳过额外的点击。 我希望用户在我的应用中点击一个按钮,它应该直接播放视频。 有没有办法做到这一点?
我希望在Windows Phone 7上直接启动YouTube播放器。
我尝试使用WebBrowserTask并提供YouTube URL,它会打开浏览器并将我带到一个缩略图的页面,我需要在视频播放之前点击缩略图。
我想跳过额外的点击。 我希望用户在我的应用中点击一个按钮,它应该直接播放视频。 有没有办法做到这一点?
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();
最后,我找到了一个干净的解决方案(没有浏览器任务,也不需要“双击后退键”):
尝试使用以下示例:
WebBrowserTask webBrowserTask = new WebBrowserTask();
webBrowserTask.Uri = new Uri("http://www.youtube.com/embed/V3oJR5IAMxM?autoplay=1");
webBrowserTask.Show();
这应该直接打开视频,但我想你仍然需要双击才能返回。
C#
Windows.System.Launcher.LaunchUriAsync(
new System.Uri("vnd.youtube:9bZkp7q19f0")
);
不幸的是,Launcher.LaunchUriAsync方法只适用于Windows Phone 8设备及以上版本。
也许在下一个操作系统版本中会有自定义选择器和启动器。
正如您所发现的,目前还无法实现此功能。
目前除了使用启动器或选择器之外,没有其他方法可以启动另一个应用程序。
在YouTube网站上,可以配置单个视频是否自动播放。我不知道有什么方法可以覆盖这一点。
然而,在手机上情况就不同了。YouTube使用Flash播放视频,但是手机上目前不支持Flash。只有安装了YouTube应用程序才能播放YouTube视频。当您使用WebBrowserTask打开YouTube网站时,用户必须点击图像才能启动播放器。
如果网页能够在不需要用户操作的情况下启动应用程序,那么这可能会成为一个巨大的安全问题。
注:YouTube应用程序具有特殊的提升权限,通常不可用,以便以这种方式启动。