I have built a Tizen 3.0.0 native wearable application based on Basic UI template. In app_create() event callback function I have initialized voice control with vc_initialize() then I have set result callback, voice control state callback and voice control service state callback function. Finally I have called vc_prepare(). In voice control callback function I receive VC_STATE_INITIALIZED and VC_STATE_READY voice control state events but no voice control service state events were received. This application has only a label displaying “Hello Tizen”
Questions:
- Is there anything else that has to be done so that voice control service state changes to VC_SERVICE_STATE_READY
- On https://developer.tizen.org/development/guides/native-application/text-input-and-voice/voice-control?langredirect=1 under section Retrieving Voice Control Information there is a statement
“The user starts recording for recognition by using a voice application, button, or voice trigger. If the start is successful, the voice control service state changes to VC_SERVICE_STATE_RECORDING”
In case of a native service or a GUI application which does not have any UI elements with which user can interact how do we trigger recognition?
I have added sample code that I am using to this topic.
Please let me know if more information regarding this issue is required.
-------------------update 27-Feb----------------------
Even though only voice control state change callback is getting called and not the voice control service state change callback if I query the state of voice control(VC) and voice control service(VCS) I can see that they are changing.
Before calling vc_initialize() VC state=VC_STATE_NONE and VCS state= VC_SERVICE_STATE_NONE
After calling vc_initialize() VC state=VC_STATE_INITIALIZED and VCS state= VC_SERVICE_STATE_NONE
Then I called vc_prepare() which results in call to voice control state change callback function with current state as VC_STATE_READY and upon querying the voice control service state expicitly then VC_SERVICE_STATE_READY is returned.
In short voice control service state change callback is not getting called bute if VC service state is queried then it does change to VC_SERVICE_STATE_READY when VC state is VC_STATE_READY.
I used vc_get_state() and vc_get_service_state() SDK API to get current voice control and voice control service state.