Adjusting for Differences Between Clients
The topics in this section discuss differences between the various clients that are used when developing speech applications with the Microsoft Speech Application SDK (SASDK). There are four clients targeted by the SASDK:
- To deploy desktop multimodal applications, use the Speech Add-in for Microsoft Internet Explorer.
- To deploy mobile multimodal applications, use the Speech Add-in for Microsoft Pocket Internet Explorer.
- To debug telephony applications in the SASDK, use Telephony Application Simulator.
- To deploy telephony applications on Speech Engine Services, use Telephony Application Services.
There are differences between Pocket Internet Explorer and Internet Explorer 6.0. If applications will be ported between these environments, the developer should take these differences into account when creating the application, thereby avoiding the need to rewrite code. For more information, see the topics listed previously.
Debugging Applications
When a multimodal speech application is rendered or debugged in the SASDK, the client is the Speech Add-in for Microsoft Internet Explorer. Telephony applications use Telephony Application Simulator (the telephony simulator) to render and debug in the SASDK.
When both of the following conditions are true:
- The source URI for a prompt database is set by the promptdatabase property using a relative URL
- The speech application is using a local speech engine (possible with both Internet Explorer and Telephony Application Simulator client browsers)
then the server-side Speech Controls convert the relative URL to a Universal Naming Convention (UNC) path during the process of generating Speech Application Language Tags (SALT) markup to send to the client application. If Speech Debugging Console is active and either an absolute URL path or an invalid UNC path is used, Speech Debugging Console prompts the user for a valid UNC path.
Speech Debugging Console stores a list of mappings between absolute URL paths and UNC paths as the user enters them. If Speech Debugging Console is not active and an absolute URL path is used, the user is not prompted for a UNC path mapping, and the prompt engine plays prompts using text-to-speech (TTS) synthesis.
The UNC paths to prompt databases appear in both the SALT markup, and in the Prompt field of Speech Debugging Console.
Matching Clients to Components
The following table shows which components are supported on the various clients for speech applications.
Components | Telephony Application Services | Telephony Application Simulator | Speech Add-in for the SDK | Speech Add-in for Microsoft Internet Explorer | Speech Add-in for Microsoft Pocket Internet Explorer |
---|---|---|---|---|---|
dtmf object or the DTMF control | Yes | Yes | No | No | No |
smex object or the Call control | Yes | Yes | No | No | No |
listen object | Yes | Yes | Yes | Yes | Yes |
prompt object | Yes | Yes | Yes | Yes | Yes |
Basic Speech Controls | Yes, but not recommended* | Yes, but not recommended* | Yes | Yes | Yes |
Call Management Controls | Yes | Yes | No | No | No |
Dialog Speech Controls | Yes | Yes | Yes | Yes | Yes |
Application Speech Controls | Yes | Yes | Yes | Yes | No |
* Using Basic Speech Controls on Telephony Application Services and Telephony Application Simulator is possible, but not recommended. Rather than using Basic Speech Controls and then writing additional code to support dialogue, use Dialog Speech Controls, instead.