combine sgdex timegrid with video
Hello. I am new to Roku development and I got lost. I am working on SGDEX timeGrid epg example. For days I have been tracing the code and trying to understand how it works. I was able to make some changes. I added url to json files so each channel and program has its unique URL. I also examined their video example. What I am trying to do is when clicked on a program item on EPG it should open a video with the URL the program has. Following is the onclick function
sub OnProgramSelected(event as Object)
print "Entering TimeGridView.brs OnProgramSelected()"
timeGrid = event.GetRoSGNode()
m.top.rowItemSelected = [timeGrid.channelSelected, timeGrid.programSelected]
print timeGrid.programSelected
print timeGrid.channelSelected
print m.top.rowItemSelected
print m.view.content.getChild(0) 'prints the channel
print m.view.content.getChild(timeGrid.channelSelected).getChild(timeGrid.programSelected) 'prints the program
myNode = CreateObject("roSGNode", "ContentNode")
myNode.focusable = false
myNode.id = 1
myNode.title = "Live Gaming Sample Content 1"
myNode.URL = "https://some url.." 'I will pass the program url if this test works
print myNode
OpenVideoPlayerItem(myNode)
print "Exiting TimeGridView.brs OnProgramSelected()"
end sub
I took OpenVideoPlayerItem() function completely from SGDEX video example which is as follows:
function OpenVideoPlayerItem(contentItem as Object) as Object
' Create MediaView Object and set its fields
video = CreateObject("roSGNode", "MediaView")
video.content = contentItem
video.isContentList = false
' Set it to start playing, it wont begin playback until show() is called
video.control = "play"
' Show the media view
m.top.ComponentController.CallFunc("show", {
view: video
})
return video
end function
When I run the project it gives the following error:
Interface not a member of BrightScript Component (runtime error &hf3) in pkg:/components/VideoPlayerLogic.brs(36) 036: m.top.ComponentController.CallFunc("show", {
I do not understand the problem. I don't understand why it does not play and I do not know how to implement it correctly. The funny thing is once it started to play audio only although it gave the same error.