How to keep the screen on when displaying photos?

I have a phone app that is sending a photo slideshow to the Roku however the screensaver kicks in after a bit of time. How can I make it so the screensaver timer resets each time I update the photo?

Thanks.

So the app is running on your phone or you have a Roku app/channel that’s displaying the slideshow or both? Is this just for your own use?

I’m the developer of the app. The app sends the pictures to the roku channel. The roku channel shows whatever pictures the phone app sends.

This is a released app and channel, not just for my personal use.

I’m still a little confused. It doesn’t help that there’s a channel called “The Roku Channel”, but I assume that’s not what you’re sending the pictures to. There’s a function to update the last remote key press timer, but it now appears to be undocumented, so use it at your own risk. It will also throw an error (not just a warning, like it should) in the Static Analysis report, so be prepared to explain why you’re using it in the notes when you submit your update. Yours is the perfect case of why this function is necessary.

appmgr = CreateObject("roAppManager")
appmgr.UpdateLastKeyPressTime()  ' <- call with every photo change or periodically

That was our solution in the past but after our latest update we got an error on the package analysis because of that call.

Right now we are solving it by sending a key press with each new photo but that makes a sound, which isn’t ideal.

I have recently updated channels while still using that function, so I’d give it a try. Just explain in the notes why you’re using it.

Turns out the error was just on the analysis but they did accept the channel, I assumed they wouldn’t. Not sure if it is a warning that it won’t work in the future or what. Wish there was clear guidance on that.

I agree!

FYI, I sent an email to Roku tech support regarding the same issue (and more) with their own Roku Media Player version 5.0. Their response was to publish the 4.0 version as the upgrade to 5.0. IOW, they pulled it.

If RMP v5.0 reappears without the problem of the screensavers interrupting slideshows (they don’t interrupt video streams), maybe you could check yours again without the workaround. FWIW.

https://community.roku.com/t5/Roku-Device-Features-Settings-Updates/Roku-Media-Player-5-0-broken/td-p/563345

Thanks for updating me on that, I’ll keep an eye on it.

I suspect if it reappears without the problem then they implemented the workaround. :grinning_face_with_smiling_eyes:

Have you considered making your channel use the screensaver to display the photos?

No I hadn’t. My channel can play videos and music as well, would I still be able to do that?

Screensaver should not activate when video player is playing full screen. Audio player should remain playing when screensaver is activated.

I’m not actually the Roku developer, I’m the app developer that sends the contect. So I can send the right info the Roku developer, what is this screensave stuff and how does it get controlled? it would need to show whatever images my app sends.

Thanks.

Does anyone know a solution to this? The certification process strictly prohibits the use of UpdateLastKeyPressTime now. My channel displays a photo slideshow, but if there is a screensaver set, it comes on during the slideshow. Any help would be appreciated.

I also need a solution for this for my game. I have a section where the player can watch the game play itself for a while, but the dumb screensaver kicks in and makes the screen black (it’s a roScreen game, thus the screensaver doesn’t actually show up, just blacks out the screen). I solve this during testing by sending ECP commands periodically, but that’s forbidden for released channels. Roku NEEDS to give us a workable option for things like this.

@RokuJonathanD , care to weigh-in on this since you’re the only RokuXxxx person that ever seems to visit this forum?

Funny how as soon as someone becomes a Roku employee you never hear from them again. Yes, @NB , I mean you!

https://developer.roku.com/docs/references/scenegraph/media-playback-nodes/video.md

Use the disableScreenSaver field and set it to true. You must use a video player even if you never load content into it. Audio can play back in the video player just hide the player. Photos can play back just hide the player. Once the video component is fed the disableScreenSaver=true you can stay within your application.

Is this something I could possible implement with my roScreen game? I thought Scenegraph and roScreen don’t mix.