2017-02-09 1 views
1

Dans l'exemple "Video List Markup" du "Tutoriel XML de Scène Graphique", lorsque je sélectionne un élément "itemSelected", je souhaite réécrire "playVideo" de sorte qu'il soit créer un roScreen pour pouvoir dessiner mes propres images. C'est possible?J'ai besoin d'aide pour modifier un des exemples pour démarrer un 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 

Si ce n'est pas possible, comment puis-je remplacer l'écran de lecture vidéo avec un écran qui me permet de dessiner mes propres images jpg sur elle?

Répondre

1

roScreen et les autres composants visuels Roku SDK1 en général ne sont pas miscibles avec les composants SDK2 (aka RSG, "scene graph").

Donc non, vous ne pouvez pas (ou n'essayez pas) d'utiliser roScreen en mode RSG.

Mais vous pouvez faire ce que vous voulez en ajoutant un noeud Poster à la scène.

+0

@ioanghip - bien, soit vous ajoutez Poster dans le fichier descripteur XML pour la scène à l'avance et plus tard reach-around pour le saisir et le rendre visible ou mettre à jour l'URL. ou vous pouvez créer/ajouter par programme un noeud à la scène lors de l'exécution. –

+0

SDK2 est difficile. Pas intentionnellement mais toujours. Si vous devez l'utiliser, passez par le tutoriel, j'espère que cela va clarifier certains d'entre eux, https://sdkdocs.roku.com/display/sdkdoc/Scene+Graph+XML+Tutorial –

+0

"Si vous devez l'utiliser", est il y a une option? La seule autre option que je connaisse est de travailler avec des écrans ... mais comment créer l'interface en utilisant des écrans si la plupart des «vieux trucs» sont obsolètes et à partir du 1er juillet 2017, Roku n'acceptera pas les chaînes ... –