Voice Control - Intercepting 'search for' and 'play' commands
What is the right way to intercept these commands 1) Search for (item). 2) Play (item) so my channel does not get relaunched by Roku?
Hello everyone. I am looking to certify my channel with voice controls and have successfully implemented all of the basic and advanced controls like 'next', 'forward 20 seconds', restart, play/pause etc. I am intercepting transport events fine and returning "success" to the Roku OS so Roku knows I have handled these events.
I am now working through the trickier 'Direct-To-Play' where we issue the command to
- search for items on the channel
- play an item on the channel
At the moment both the search and play commands exit our channel and go to Roku search, and in the case of playing an item the deep link then kicks in and the channel is restarted and the item plays correctly. So deep linking is implemented correctly and works fine.
My issue is - for searching and playing items already in my channel, how do I intercept the command and prevent the exit to Roku OS and the re-starting of my channel? On the documentation for Direct-To-Play it states "Requirements - To participate in Direct to Play, your channel must support the following integrations: 1. Roku Search. 2. Deep linking. 3. roInput. Prevents your channel from re-launching when it is handling deep link requests and is already running. .... "
What is the right way to implement task 3 above ie intercept these commands 1) Search for (item). 2) Play (item) so my channel does not get relaunched by Roku? When I speak either command, it's not registering as an event for me to handle.
PS I have added these lines to my manifest file supports_input_launch=1 supports_etc_seek=1 supports_etc_next=1
Device I am using is a Roku Streambar with latest firmware 10.0