Как запустить URL-адрес YouTube на Windows Phone 7

Я хотел бы запустить прямо в проигрыватель YouTube на Windows Phone 7.

Я попытался использовать WebBrowserTask и указать URL-адрес YouTube, он открывает браузер и выводит меня на страницу с миниатюрой видео YouTube, мне нужно щелкнуть миниатюру перед воспроизведением видео.

Мне нравится пропускать лишний щелчок. Мне нравится, когда пользователь нажимает кнопку в моем приложении, и оно должно воспроизводить видео напрямую. Есть ли способ сделать это?


person slingkid    schedule 13.11.2010    source источник


Ответы (7)


После того, как вы установили приложение 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. Ваше здоровье!

person EdGs    schedule 21.01.2011
comment
Спасибо! Это работает для меня, есть ли способ вернуться к моему приложению после окончания видео? - person Abby Fichtner; 29.01.2011
comment
Насколько я знаю, еще нет. Текущий описанный метод — это всего лишь обходной путь, и пользователю действительно нужно дважды нажать кнопку «Назад», чтобы вернуться в ваше приложение. К сожалению, на данный момент мы не можем отслеживать или иметь какой-либо метод делегата, который указывал бы, что воспроизведение фильма остановлено. - person EdGs; 02.02.2011
comment
Свойство URL устарело, и URI принимает только абсолютный URI, что делать в этом случае? - person Milan Aggarwal; 27.08.2012

Наконец, я разработал чистое решение (без задачи браузера и без «двойного нажатия клавиши назад»):

http://mytoolkit.codeplex.com/wikipage?title=YouTube

person Rico Suter    schedule 26.10.2011

Попробуйте использовать следующий образец;

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

это должно открывать видео напрямую, но я думаю, вам все равно придется дважды щелкнуть, чтобы вернуться.

person Teoman shipahi    schedule 07.06.2012

Теперь для этого есть решение. Вы можете использовать протокол vnd.youtube для запуска приложения YouTube от Microsoft и воспроизведения.

C#

 Windows.System.Launcher.LaunchUriAsync(

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

 );

К сожалению, метод Launcher.LaunchUriAsync работает только с Windows Phone 8 устройствами и выше.

person garenyondem    schedule 19.10.2013

Нет. Мейб, в следующей версии ОС будут настраиваемые средства выбора и запуска.

person Lukasz Madon    schedule 13.11.2010

Для отображения видео с YouTube вам понадобится Video Player for YouTube. В противном случае вам нужно будет написать собственный декодер, который будет получать поток YouTube и отображать его в MediaElement.

person Den Delimarsky    schedule 13.11.2010

Как вы обнаружили, в настоящее время это невозможно.

В настоящее время нет другого способа запустить другое приложение, кроме как с помощью Launcher или Chooser.

На сайте YouTube отдельные видео можно настроить на автоматическое воспроизведение или нет. Я не знаю, как переопределить это.

Однако на телефоне все иначе. YouTube использует Flash для воспроизведения видео, но в настоящее время Flash не поддерживается телефоном. Видео YouTube можно воспроизводить только в том случае, если установлено приложение YouTube. Когда вы открываете сайт YouTube с помощью задачи веб-браузера, пользователь должен щелкнуть изображение, чтобы запустить проигрыватель.
Если бы веб-страницы могли запускать приложения без предварительного вмешательства пользователя, это могло бы стать серьезной проблемой безопасности.

Н.Б. Приложение YouTube имеет специальные повышенные привилегии, недоступные обычно, чтобы его можно было запустить в том виде, в котором оно есть.

person Matt Lacey    schedule 14.11.2010