--- title: "VoiceGuidance" slug: "170-manage-voiceguidance" updated: 2025-12-09T17:33:53Z published: 2025-12-09T18:02:06Z canonical: "docs.developer.comcast.com/170-manage-voiceguidance" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.developer.comcast.com/llms.txt > Use this file to discover all available pages before exploring further. # VoiceGuidance **VoiceGuidance Module 1.7.0 | Manage SDK** ## Usage To use the VoiceGuidance module, you can import it into your project from the Firebolt SDK: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' ``` ## Overview A module for managing voice guidance settings. ## Methods ### enabled Whether or not voice-guidance is enabled. To get the value of `enabled` call the method like this: ``` function enabled(): Promise ``` Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:accessibility:voiceguidance | #### Examples Voice guidance enabled JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let enabled = await VoiceGuidance.enabled() console.log(enabled) ``` Value of `enabled`: ``` true ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.enabled", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": true } ``` Voice guidance disabled JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let enabled = await VoiceGuidance.enabled() console.log(enabled) ``` Value of `enabled`: ``` true ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.enabled", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": false } ``` --- To set the value of `enabled` call the method like this: ``` function enabled(value: boolean): Promise ``` Parameters: | Param | Type | Required | Description | | --- | --- | --- | --- | | `value` | `boolean` | true | | Promise resolution: #### Examples Voice guidance enabled JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let result = await VoiceGuidance.enabled(true) console.log(result) ``` Value of `result`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.setEnabled", "params": { "value": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": null } ``` Voice guidance disabled JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let result = await VoiceGuidance.enabled(false) console.log(result) ``` Value of `result`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.setEnabled", "params": { "value": false } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": null } ``` --- To subscribe to notifications when the value changes, call the method like this: ``` function enabled(callback: (value) => boolean): Promise ``` Promise resolution: ``` number ``` #### Examples Voice guidance enabled JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let listenerId = await enabled((value) => { console.log(value) }) console.log(listenerId) ``` Value of `enabled`: ``` true ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.onEnabledChanged", "params": { "listen": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": true } ``` Voice guidance disabled JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let listenerId = await enabled((value) => { console.log(value) }) console.log(listenerId) ``` Value of `enabled`: ``` true ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.onEnabledChanged", "params": { "listen": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": false } ``` --- ### listen To listen to a specific event pass the event name as the first parameter: ``` listen(event: string, callback: (data: any) => void): Promise ``` Parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | `event` | `string` | Yes | The event to listen for, see [Events](/docs/170-manage-voiceguidance#events). | | *callback* | `function` | Yes | A function that will be invoked when the event occurs. | Promise resolution: | Type | Description | | --- | --- | | `number` | Listener ID to clear the callback method and stop receiving the event, e.g. `VoiceGuidance.clear(id)` | Callback parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | `data` | `any` | Yes | The event data, which depends on which event is firing, see [Events](/docs/170-manage-voiceguidance#events). | To listen to all events from this module pass only a callback, without specifying an event name: ``` listen(callback: (event: string, data: any) => void): Promise ``` Parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | *callback* | `function` | Yes | A function that will be invoked when the event occurs. The event data depends on which event is firing, see [Events](/docs/170-manage-voiceguidance#events). | Callback parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | `event` | `string` | Yes | The event that has occured listen for, see [Events](/docs/170-manage-voiceguidance#events). | | `data` | `any` | Yes | The event data, which depends on which event is firing, see [Events](/docs/170-manage-voiceguidance#events). | Promise resolution: | Type | Description | | --- | --- | | `number` | Listener ID to clear the callback method and stop receiving the event, e.g. `VoiceGuidance.clear(id)` | See [Listening for events](/docs/listening-for-events/) for more information and examples. ### navigationHints The user's preference for whether additional navigation hints should be synthesized. To get the value of `navigationHints` call the method like this: ``` function navigationHints(): Promise ``` Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:accessibility:voiceguidance | #### Examples Navigation hints enabled JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let navigationHints = await VoiceGuidance.navigationHints() console.log(navigationHints) ``` Value of `navigationHints`: ``` true ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.navigationHints", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": true } ``` Navigation hints disabled JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let navigationHints = await VoiceGuidance.navigationHints() console.log(navigationHints) ``` Value of `navigationHints`: ``` true ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.navigationHints", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": false } ``` --- To set the value of `navigationHints` call the method like this: ``` function navigationHints(value: boolean): Promise ``` Parameters: | Param | Type | Required | Description | | --- | --- | --- | --- | | `value` | `boolean` | true | | Promise resolution: #### Examples Navigation hints enabled JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let result = await VoiceGuidance.navigationHints(true) console.log(result) ``` Value of `result`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.setNavigationHints", "params": { "value": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": null } ``` Navigation hints disabled JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let result = await VoiceGuidance.navigationHints(false) console.log(result) ``` Value of `result`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.setNavigationHints", "params": { "value": false } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": null } ``` --- To subscribe to notifications when the value changes, call the method like this: ``` function navigationHints(callback: (value) => boolean): Promise ``` Promise resolution: ``` number ``` #### Examples Navigation hints enabled JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let listenerId = await navigationHints((value) => { console.log(value) }) console.log(listenerId) ``` Value of `navigationHints`: ``` true ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.onNavigationHintsChanged", "params": { "listen": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": true } ``` Navigation hints disabled JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let listenerId = await navigationHints((value) => { console.log(value) }) console.log(listenerId) ``` Value of `navigationHints`: ``` true ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.onNavigationHintsChanged", "params": { "listen": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": false } ``` --- ### once To listen to a single instance of a specific event pass the event name as the first parameter: ``` once(event: string, callback: (data: any) => void): Promise ``` The `once` method will only pass the next instance of this event, and then dicard the listener you provided. Parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | `event` | `string` | Yes | The event to listen for, see [Events](/docs/170-manage-voiceguidance#events). | | *callback* | `function` | Yes | A function that will be invoked when the event occurs. | Promise resolution: | Type | Description | | --- | --- | | `number` | Listener ID to clear the callback method and stop receiving the event, e.g. `VoiceGuidance.clear(id)` | Callback parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | `data` | `any` | Yes | The event data, which depends on which event is firing, see [Events](/docs/170-manage-voiceguidance#events). | To listen to the next instance only of any events from this module pass only a callback, without specifying an event name: ``` once(callback: (event: string, data: any) => void): Promise ``` Parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | *callback* | `function` | Yes | A function that will be invoked when the event occurs. The event data depends on which event is firing, see [Events](/docs/170-manage-voiceguidance#events). | Callback parameters: | Param | Type | Required | Summary | | --- | --- | --- | --- | | `event` | `string` | Yes | The event that has occured listen for, see [Events](/docs/170-manage-voiceguidance#events). | | `data` | `any` | Yes | The event data, which depends on which event is firing, see [Events](/docs/170-manage-voiceguidance#events). | Promise resolution: | Type | Description | | --- | --- | | `number` | Listener ID to clear the callback method and stop receiving the event, e.g. `VoiceGuidance.clear(id)` | See [Listening for events](/docs/listening-for-events/) for more information and examples. ### rate The rate at which voice guidance speech will be read back to the user. To get the value of `rate` call the method like this: ``` function rate(): Promise ``` Promise resolution: [SpeechRate](/docs/170-manage-Accessibility-schemas#SpeechRate) Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:accessibility:voiceguidance | #### Examples Normal voice guidance speech rate JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let rate = await VoiceGuidance.rate() console.log(rate) ``` Value of `rate`: ``` 1 ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.rate", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": 1 } ``` Doubled voice guidance speech rate JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let rate = await VoiceGuidance.rate() console.log(rate) ``` Value of `rate`: ``` 1 ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.rate", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": 2 } ``` --- To set the value of `rate` call the method like this: ``` function rate(value: SpeechRate): Promise ``` Parameters: | Param | Type | Required | Description | | --- | --- | --- | --- | | `value` | [`SpeechRate`](/docs/170-manage-Accessibility-schemas#SpeechRate) | true | minumum: 0.1 | | maximum: 10 | | | | Promise resolution: #### Examples Normal voice guidance speech rate JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let result = await VoiceGuidance.rate(1) console.log(result) ``` Value of `result`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.setRate", "params": { "value": 1 } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": null } ``` Doubled voice guidance speech rate JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let result = await VoiceGuidance.rate(2) console.log(result) ``` Value of `result`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.setRate", "params": { "value": 2 } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": null } ``` --- To subscribe to notifications when the value changes, call the method like this: ``` function rate(callback: (value) => SpeechRate): Promise ``` Promise resolution: ``` number ``` #### Examples Normal voice guidance speech rate JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let listenerId = await rate((value) => { console.log(value) }) console.log(listenerId) ``` Value of `rate`: ``` 1 ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.onRateChanged", "params": { "listen": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": 1 } ``` Doubled voice guidance speech rate JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let listenerId = await rate((value) => { console.log(value) }) console.log(listenerId) ``` Value of `rate`: ``` 1 ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.onRateChanged", "params": { "listen": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": 2 } ``` --- ### speed The speed at which voice guidance speech will be read back to the user. To get the value of `speed` call the method like this: ``` function speed(): Promise ``` Promise resolution: [SpeechRate](/docs/170-manage-Accessibility-schemas#SpeechRate) Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:accessibility:voiceguidance | #### Examples Normal voice guidance speech rate JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let speed = await VoiceGuidance.speed() console.log(speed) ``` Value of `speed`: ``` 1 ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.speed", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": 1 } ``` Doubled voice guidance speech rate JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let speed = await VoiceGuidance.speed() console.log(speed) ``` Value of `speed`: ``` 1 ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.speed", "params": {} } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": 2 } ``` --- To set the value of `speed` call the method like this: ``` function speed(value: SpeechRate): Promise ``` Parameters: | Param | Type | Required | Description | | --- | --- | --- | --- | | `value` | [`SpeechRate`](/docs/170-manage-Accessibility-schemas#SpeechRate) | true | minumum: 0.1 | | maximum: 10 | | | | Promise resolution: #### Examples Normal voice guidance speech rate JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let result = await VoiceGuidance.speed(1) console.log(result) ``` Value of `result`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.setSpeed", "params": { "value": 1 } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": null } ``` Doubled voice guidance speech rate JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let result = await VoiceGuidance.speed(2) console.log(result) ``` Value of `result`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.setSpeed", "params": { "value": 2 } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": null } ``` --- To subscribe to notifications when the value changes, call the method like this: ``` function speed(callback: (value) => SpeechRate): Promise ``` Promise resolution: ``` number ``` #### Examples Normal voice guidance speech rate JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let listenerId = await speed((value) => { console.log(value) }) console.log(listenerId) ``` Value of `speed`: ``` 1 ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.onSpeedChanged", "params": { "listen": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": 1 } ``` Doubled voice guidance speech rate JavaScript: ``` import { VoiceGuidance } from '@firebolt-js/manage-sdk' let listenerId = await speed((value) => { console.log(value) }) console.log(listenerId) ``` Value of `speed`: ``` 1 ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "VoiceGuidance.onSpeedChanged", "params": { "listen": true } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": 2 } ``` --- ## Events ### enabledChanged See: [enabled](/docs/170-manage-voiceguidance#enabled) ### navigationHintsChanged See: [navigationHints](/docs/170-manage-voiceguidance#navigationhints) ### rateChanged See: [rate](/docs/170-manage-voiceguidance#rate) ### speedChanged See: [speed](/docs/170-manage-voiceguidance#speed) ## Private Events **View** ### enabledChanged See: [enabled](/docs/170-manage-voiceguidance#enabled) ### navigationHintsChanged See: [navigationHints](/docs/170-manage-voiceguidance#navigationhints) ### rateChanged See: [rate](/docs/170-manage-voiceguidance#rate) ### speedChanged See: [speed](/docs/170-manage-voiceguidance#speed) ## Types