2016-04-23 11 views
-1

Ich habe eine Roku-Anwendung, die über den Startbefehl Links zu einem Video erhält. Dieses Video wird dann in einem roVideoScreen Objekt angezeigt. Das Video wird jedoch nicht geladen. Angenommen, alle Links funktionieren, kann jeder sehen, was schief läuft. Jede Hilfe wird geschätzt.RoVideoScreen lädt kein Video

count = CreateObject("roInt") 
count = info.Lookup("amount").ToInt() 

bitrates = CreateObject("roArray", count, false) 
qualities = CreateObject("roArray", count, false) 
url = CreateObject("roArray", count, false) 
StreamFormat = "mp4" 
title = info.Lookup("title") 

index = 0 

if info.DoesExist("720") = true 

    url = info.Lookup("720") 
    bitrates.Push(2500) 
    qualities.Push("HD") 
    index = index + 1 
end if 

if info.DoesExist("480") = true 

    url = info.Lookup("480") 
    bitrates.Push(1200) 
    qualities.Push("SD") 
    index = index + 1 
end if 

if info.DoesExist("360") = true 

    url = info.Lookup("360") 
    bitrates.Push(700) 
    qualities.Push("SD") 
    index = index + 1 
end if 

if info.DoesExist("240") = true 

    url = info.Lookup("240") 
    bitrates.Push(380) 
    qualities.Push("SD") 
    index = index + 1 
end if 

videoclip = CreateObject("roAssociativeArray") 
videoclip.StreamBitrates = bitrates 
videoclip.StreamQualities = qualities 
videoclip.StreamUrls = url 
videoclip.StreamFormat = StreamFormat 
videoclip.Title = title 

video = CreateObject("roVideoScreen") 
port = CreateObject("roMessagePort") 
video.SetMessagePort(port) 

video.SetContent(videoclip) 

video.Show() 
while true 

end while 
+0

(1) nicht tun 'info . Lookup ("Betrag") 'und' info.Lookup ("360") '- tun' info.amount' und 'info [" 360 "]'. (2) tu 'nicht bitrates = CreateObject ("roArray", count, false) '- stattdessen nur' bitrates = [] '. (3) 'count = CreateObject (" roInt ")' ist völlig unnötig –

+0

Es ist jedoch unnötig, es macht den Code deutlicher und klarer. –

+0

Das Zuweisen von 'roInt' zu 'count' macht keinen Sinn, weil a) BrightScript eine dynamisch typisierte Sprache ist und b) type die nächste Zeile mit dem ursprünglichen Typ' Integer ', der sich von dem mit roInt bezeichneten unterscheidet, überschreibt. Du kannst meinen Rat befolgen oder es verlassen - wie sie sagen "Du kannst ein Pferd zu Wasser führen, aber du kannst es nicht trinken lassen". –

Antwort

0

Ich wurde erklärt url als Array jedoch über sie als String aufrichtenden so brauchte ich die Linien zu ändern, wo ich url in der

url.SetEntry(index,info.Lookup("480"))