2017-02-09 12 views
1

В примере «Разметка видео-списка» из «Учебника по графическому изображению сцены», когда я выбираю элемент «itemSelected», я хочу переписать «playVideo», чтобы он создавая roScreen, чтобы я мог нарисовать на нем свои собственные изображения. Является ли это возможным?Мне нужна помощь, чтобы изменить один из примеров, чтобы запустить roScreen

sub init() 
    m.top.backgroundURI = "pkg:/images/rsgde_bg_hd.jpg" 

    m.videolist = m.top.findNode("videoLabelList") 
    m.videoinfo = m.top.findNode("infoLabel") 
    m.videoposter = m.top.findNode("videoPoster") 
    m.video = m.top.findNode("exampleVideo") 

    m.video.observeField("state", "controlvideoplay") 

    m.readVideoContentTask = createObject("roSGNode", "ContentReader") 
    m.readVideoContentTask.observeField("content", "showvideolist") 
    m.readVideoContentTask.control = "RUN" 

    m.videolist.observeField("itemFocused", "setvideo") 
    m.videolist.observeField("itemSelected", "playvideo") 
end sub 

Sub OnChangeXmlstringscene() 
    m.readVideoContentTask.xmlstring = m.top.xmlstringscene 
End Sub 

sub showvideolist() 
    m.videolist.content = m.readVideoContentTask.content 
    m.videolist.setFocus(true) 
end sub 

sub setvideo() 
    videocontent = m.videolist.content.getChild(m.videolist.itemFocused) 
    m.videoposter.uri = videocontent.hdposterurl 
    m.videoinfo.text = videocontent.description 
    m.video.content = videocontent 
end sub 

sub playvideo() 
    m.video.control = "play" 
    m.video.visible = true 
    m.video.setFocus(true) 
end sub 

sub controlvideoplay() 
    if (m.video.state = "finished") 
    m.video.control = "stop" 
    m.videolist.setFocus(true) 
    m.video.visible = false 
    end if 
end sub 

function onKeyEvent(key as String, press as Boolean) as Boolean 
    if press then 
    if key = "back" 
     if (m.video.state = "playing") 
     m.video.control = "stop" 
     m.videolist.setFocus(true) 
     m.video.visible = false 

     return true 
     end if 
    end if 
    end if 

    return false 
end function 

Если это невозможно, то как я могу заменить воспроизведение видео экрана с экраном, который позволяет мне сделать мои собственные JPG изображений на нем?

ответ

1

roScreen и другие визуальные компоненты Roku SDK1, как правило, не смешиваются с компонентами SDK2 (иначе RSG, «граф сцены»).

Нет, вы не можете (или не пытаетесь) использовать roScreen в режиме RSG.

Но вы можете сделать то, что хотите, добавив узел Poster к сцене.

+0

@ioanghip - ну, вы либо добавляете плакат в файл дескриптора XML для сцены заранее, либо позже, чтобы охватить его и сделать его видимым или обновить URL. или вы можете программно создавать/добавлять узел в сцену во время выполнения. –

+0

SDK2 жесткий. Не специально, но все же. Если вы должны использовать его, перейдите в учебник, надеюсь, что это прояснит некоторые из них, https://sdkdocs.roku.com/display/sdkdoc/Scene+Graph+XML+Tutorial –

+0

«Если вы должны его использовать», есть вариант? Единственный другой вариант, который я знаю, работает с экранами ... но как мне создать интерфейс, используя экраны, если большая часть «старого материала» устарела, и по состоянию на 1 июля 2017 года Roku не будет принимать какие-либо каналы, используя материал ... –