firemaple
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-14-2016
02:48 PM
Scene Graph Video Player - notificationInterval Not Working
Hi All,
While watching a video I'd like to display the timecode (hh:mm:ss:ff) in a label on the video player while the video is playing. In order to do this I'm observing the "position" field of the scene graph video player (see documentation here). In my code, no matter what I set the "notificationInterval" value to, it only executes my observer function every .5 seconds.
I downloaded the Simple_Grid_and_Video.zip reference code (here) and added the following lines of code to demonstrate the problem
Can anyone offer any insight? I'm sure I'm overlooking something.
Many Thanks in Advance!
While watching a video I'd like to display the timecode (hh:mm:ss:ff) in a label on the video player while the video is playing. In order to do this I'm observing the "position" field of the scene graph video player (see documentation here). In my code, no matter what I set the "notificationInterval" value to, it only executes my observer function every .5 seconds.
I downloaded the Simple_Grid_and_Video.zip reference code (here) and added the following lines of code to demonstrate the problem
' ********** Copyright 2016 Roku Corp. All Rights Reserved. **********
' inits grid screen
' creates all children
' sets all observers
Function Init()
' listen on port 8089
? "[HomeScene] Init"
'main grid screen node
m.GridScreen = m.top.findNode("GridScreen")
'video player node
m.videoPlayer = m.top.findNode("videoPlayer")
'MY ADDED CODE----------------------------------------------
m.videoPlayer.ObserveField("position", "positionChanged")
m.videoPlayer.notificationInterval = 0.1
'-----------------------------------------------------------
'added handler on item selecting event in grid screen
m.top.observeField("rowItemSelected", "OnRowItemSelected")
' loading indicator starts at initializatio of channel
m.loadingIndicator = m.top.findNode("loadingIndicator")
End Function
'MY ADDED CODE----------------------------------------------
Function positionChanged()
? m.videoPlayer.position
End Function
'-----------------------------------------------------------
Can anyone offer any insight? I'm sure I'm overlooking something.
Many Thanks in Advance!
2 REPLIES 2
belltown
Roku Guru
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-14-2016
03:48 PM
Re: Scene Graph Video Player - notificationInterval Not Working
It looks like the resolution of the notificationInterval and of the position is only about 0.5 secs. If that's the case, you won't be able to set notificationInterval to less than 0.5 secs; even if you could the position would only be accurate to within 0.5 secs. You can set it to something larger, but still with about 0.5 secs of resolution.
I don't think it was intended to be used to display a timecode label to within a fraction of a second. Position notifications have typically been used to trigger saving bookmark information, which doesn't need that level of accuracy.
You can use a Timer node to trigger more frequent updates, doing "fake" timecode updates that you sync up with the position every half second or so.
I don't think it was intended to be used to display a timecode label to within a fraction of a second. Position notifications have typically been used to trigger saving bookmark information, which doesn't need that level of accuracy.
You can use a Timer node to trigger more frequent updates, doing "fake" timecode updates that you sync up with the position every half second or so.
firemaple
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-15-2016
06:24 AM
Re: Scene Graph Video Player - notificationInterval Not Working
Thanks Belltown! I was hoping that there was a way to get the position resolution to be smaller but your idea about using a timer node and syncing it up with the position every .5 seconds is brilliant. I'm going to give that a try. I appreciate the help!