I would like to launch directly to the YouTube player on Windows Phone 7.
I tried using WebBrowserTask and giving a YouTube URL, it opens up the browser and brings me to a page with a thumbnail of the YouTube video, I need to click on the thumbnail before the video plays.
I like to s开发者_高级运维kip the extra click. I like the user to click a button in my app, and it should play the video directly. Is there a way to do it?
Once you have the Youtube app installed, from within you application you can start the WebBrowserTask and do the follwing:
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();
That should launch the browser, then automatically launch the Youtube App. Cheers!
Finally I've worked out a clean solution (without browser task, and no "double back key pressing"):
http://mytoolkit.codeplex.com/wikipage?title=YouTube
Try to use following sample;
WebBrowserTask webBrowserTask = new WebBrowserTask();
webBrowserTask.Uri = new Uri("http://www.youtube.com/embed/V3oJR5IAMxM?autoplay=1");
webBrowserTask.Show();
this should open video directly, but I think you will have to still double click to go back.
There is a solution for that now. You can use vnd.youtube protocol to launch the YouTube application from Microsoft and play.
C#
Windows.System.Launcher.LaunchUriAsync(
new System.Uri("vnd.youtube:9bZkp7q19f0")
);
Unfortunately Launcher.LaunchUriAsync method only works with Windows Phone 8
devices and beyond.
No. Mabe in next version of OS will be custom choosers and lunchers.
To display a video from YouTube, you will need the Video Player for YouTube. Otherwise, you will need to write a custom decoder that will receive the YouTube stream and display it in a MediaElement.
As you've discovered this isn't currently possible.
There is currently no way to launch another application, other than by using a Launcher or Chooser.
On the YouTube site, individual videos can be configured to autoplay or not. I'm not aware of a way to override this.
However, on the phone this is different. YouTube uses flash to play videos but Flash is not currently supported on the phone. YouTube videos can only be played if the YouTube application is installed. When you open the youtube site with the webbrowsertask the user must click on the image to launch the player.
If web pages were able to launch applications without first requiring user action this could be a huge security issue.
N.B. The YouTube app has special elevated privileges, not generally available, to be able to be launched in the way it is.
精彩评论