2010-11-13 2 views
5

starten würde ich direkt an den YouTube-Player auf Windows Phone 7.Wie ein YouTube-URL auf Windows Phone 7

ich WebBrowserTask versucht, mit starten möchten und ein YouTube-URL zu geben, öffnet er den Browser und bringt mich Zu einer Seite mit einem Thumbnail des YouTube-Videos muss ich auf das Thumbnail klicken, bevor das Video abgespielt wird.

Ich möchte den zusätzlichen Klick überspringen. Ich mag es, wenn der Benutzer auf eine Schaltfläche in meiner App klickt und das Video direkt abspielen soll. Gibt es einen Weg, es zu tun?

Antwort

0

Nein. Mabe in der nächsten Version von OS wird benutzerdefinierte Chosers und Luncher sein.

0

Um ein Video von YouTube anzuzeigen, benötigen Sie den Video Player für YouTube. Andernfalls müssen Sie einen benutzerdefinierten Decoder schreiben, der den YouTube-Stream empfängt und in einem MediaElement anzeigt.

0

Wie Sie festgestellt haben, ist dies derzeit nicht möglich.

Es gibt derzeit keine Möglichkeit, eine andere Anwendung zu starten, als mithilfe eines Startprogramms oder einer Auswahl.

Auf der YouTube-Website können einzelne Videos für die automatische Wiedergabe konfiguriert werden. Ich bin mir nicht bewusst, wie ich das ändern kann.

Allerdings ist dies am Telefon anders. YouTube verwendet Flash zum Abspielen von Videos, Flash wird jedoch derzeit nicht vom Telefon unterstützt. YouTube-Videos können nur wiedergegeben werden, wenn die YouTube-Anwendung installiert ist. Wenn Sie die Youtube-Site mit der Webbrowser-Task öffnen, muss der Benutzer auf das Bild klicken, um den Player zu starten.
Wenn Webseiten Anwendungen starten konnten, ohne zuerst Benutzeraktionen zu erfordern, könnte dies ein großes Sicherheitsproblem darstellen.

N.B. Die YouTube-App verfügt über spezielle erweiterte Berechtigungen, die nicht allgemein verfügbar sind, um auf diese Weise gestartet werden zu können.

8

Sobald Sie den Youtube-App installiert haben, aus dir Anwendung können Sie die WebBrowserTask starten und Sie den 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(); 

, dass der Browser starten sollte, dann automatisch den Youtube-App starten. Prost!

+0

Danke! Das funktioniert für mich, gibt es eine Möglichkeit, nach dem Ende des Videos zurück zu meiner App zu gelangen? –

+1

Soweit ich weiß, noch nicht. Die aktuell beschriebene Methode ist nur ein Workaround und der Benutzer muss zweimal auf die Zurück-Schaltfläche tippen, um zu Ihrer Anwendung zurückzukehren. Leider können wir an dieser Stelle nicht überwachen oder haben eine Art Delegate-Methode, die anzeigen würde, dass der Film nicht mehr abgespielt wird. – EdGs

+1

URL-Eigenschaft ist veraltet und URI nimmt nur absolute URI, was in diesem Fall zu tun? –

1

Versuche folgende Probe zu verwenden;

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

sollte dies Video direkt öffnen, aber ich denke, Sie müssen immer noch doppelt klicken, um zurückzugehen.

+0

Welldone Teoman, das hat für mich funktioniert. – jade

1

Dafür gibt es jetzt eine Lösung. Sie können vnd.youtube Protokoll verwenden, um die YouTube-Anwendung von Microsoft zu starten und zu spielen.

C#

Windows.System.Launcher.LaunchUriAsync(

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

); 

Leider Launcher.LaunchUriAsync Methode funktioniert nur mit Windows Phone 8 Geräte und darüber hinaus.