Видео Youtube внутри WWSD

Я использую один атрибут, основанный на домене видео, где я добавляю URL-адреса Youtube для загрузки в WWSD или SDPanels.

Я получил свой идентификатор Youtube, и в Android все в порядке, но в iOS видео не загружается и продолжает загружаться сообщение.

Кто-нибудь знает, нужно ли сделать что-то еще для iOS в GNX, чтобы решить эту проблему?

спасибо.


person Marc M    schedule 27.02.2015    source источник


Ответы (2)


В настоящее время ссылки Youtube, которые будут использоваться в контрольном видео для iOS, должны использовать формат URL-адреса watch?v=VIDEOID, например: http//www.youtube.com/watch?v=8GzZ-kMHqUA . имя хоста youtu.be также принимается.

Генератор iOS внутренне преобразует URL-адрес в формат http//www.youtube.com/embed/VIDEOID, удаляя любые дополнительные параметры.

Если вы хотите включить дополнительные параметры, вы можете использовать решение, предоставленное Franklin.

person Fabian Inthamoussu    schedule 03.03.2015
comment
Привет, Фабиан, спасибо за ваш ответ. Я пытаюсь использовать формат URL-адреса YouTube, как вы сказали, изгибая URL-адрес в атрибуте видео или в атрибуте компонента. Я не могу добиться успеха, возможно, я делаю что-то не так, вы можете мне помочь? спасибо. - person Marc M; 04.03.2015
comment
Привет, Фабиан, я делаю много тестов и действительно не работаю в iOS, если я использую URL-адрес YouTube как watch?v=VIDEOID, но в Android он работает нормально... Я использую EV3 U2, может быть, вы знаете какие-либо проблемы в EV3 U2 с этим? Потому что на самом деле единственная работа, которая работает, — это использование VideoComponent Att, как указано Франклином выше, спасибо за вашу помощь. - person Marc M; 09.03.2015

Для iOS мы решили проблему, потому что обнаружили ту же проблему.
На YouTube вы можете найти URL-адрес видео для прямого воспроизведения. Например: https://www.youtube.com/embed/8GzZ-kMHqUA?autoplay=1

Получив этот URL-адрес для видео, вы можете создать SDPanel с переменной типа Component. В списке видео вы можете вызвать эту SDPanel и загрузить URL-адрес видео на YouTube. Таким образом, у пользователя будет возможность воспроизводить видео с веб-страницы, которая запускает собственный видеоплеер в iOS без дополнительного нажатия.

Пример кода:

Event "GridTapFromWWSD"
  Composite
    PanelYoutubePlayer(VideoURL)
  EndComposite
EndEvent

В панели: PanelYoutubePlayer вы поместите переменную & на основе домена компонента, а в макете задайте для этой переменной 100% (высота, ширина) и установите ее как ReadOnly = true. Предполагая, что у вас есть таблица, например: VideoID | VideoURL
Вы можете получить VideoID на странице:

parm(in:&videoID);

И в панели создать в событиях следующее:

Event Start
   for each
       where VideoId = &videoID
       &videoUrlComponent = VideUrl
   endfor
EndEvent

Таким образом, вы можете перемещаться по таблице базы данных, чтобы получить URL-адрес видео.

&VideoID -> Тот же домен, что и у вашего VideID att
&VideUrlComponent -> ComponentDomain

person Franklin    schedule 02.03.2015
comment
Привет, Франклин, спасибо, с тех пор как эти два дня я пытался сделать то, что вы сказали, но я не могу, максимум, что я получил, это создать sdpanel, и в этой sdpanel я создаю одну компонентную переменную, и в событиях, которые я помещаю в событие, запускается &variable = 'my you tybe video from my channel', но я не могу добиться успеха... Я пробую это, потому что я могу открыть одну веб-страницу, делая это, но видео я не могу. Вы сказали, что я создаю одну панель с сеткой и внутри помещаю событие в действии по умолчанию для вызова sdpanel? Это +/- то, что я пытаюсь правильно? спасибо. - person Marc M; 04.03.2015
comment
@MarcM, вы можете отредактировать свой вопрос и добавить свой код? Кроме того, если вы поместите в переменную вашего компонента следующее: google.com, вы увидите веб-страницу? Пожалуйста, прикрепите код, чтобы узнать, могу ли я вам помочь. - person Franklin; 04.03.2015
comment
Привет, Франклин, я только что обнаружил, что произошло, переменная на панели должна быть ReadOnly = True, только с этим набором вы начнете работать. спасибо. - person Marc M; 04.03.2015
comment
Привет, Франклин, я вернулся с этой темой, смотри, я думал, что это было решено, но это не так :-), позвольте мне объяснить, у меня есть одна панель A, где есть сетка, где действие сетки по умолчанию вызывает панель B, где я хочу показать видео на YouTube, поэтому в панели A я вызываю панель B, используя panelB.call (PK), затем панель B, которую я устанавливаю parm (PK); ... *** продолжение в комментарии ниже*** - person Marc M; 10.03.2015
comment
*** продолжение *** att, где находится URL-адрес, это AttEmbed, который является доменом URL, затем я создаю один var &AttEmbed = AttEmbed и помещаю var и att в панель, поэтому &AttEmbed доступен только для чтения и ничего не показывает, но AttEmbed показывает содержание att, я пытаюсь поместить var и att прямо в параметр, как вы сказали выше, но я ничего не получил ... не могли бы вы, пожалуйста, помочь мне лучше понять, как должен быть построен ваш обходной путь, чтобы я получил решение? огромное спасибо - person Marc M; 10.03.2015
comment
Я отредактировал свой ответ, чтобы попытаться решить новую задачу. @МаркМ - person Franklin; 11.03.2015
comment
Привет, Франклин, я чувствую, что ошибся в очень простой вещи. В моей таблице есть TRN001Id, который равен Num (4) и является PK, а TRN001VideoURL - это char (200), где находится URL-адрес. Из сетки в моем PanelA я звоню PanelB.Call(TRN001Id) PanelB имеет параметр(in:TRN001Id); и начало события я помещаю (для каждого, где TRN001Id = &TRN001Id &Youtube = TRN001VideoURL), где &TRN001Id основан на атрибуте TRN001Id, а &Youtube является компонентом, я помещаю &Youtube в панель, и он установлен как ReadOnly. НО не работает. в рекламе я помещаю TRN001VideoURL в панель и показываю контент, так что где я ошибаюсь ?? ;-) спасибо - person Marc M; 11.03.2015