ASP.NET Speech Controls Features
ASP.NET Speech Controls are ASP.NET controls that render Speech Application Language Tags (SALT) in a speech-enabled Web application. Using Speech Control Editor, developers can drag these companion ASP.NET controls from an on-screen toolbox and place them onto a page alongside traditional ASP.NET controls in the Design view of Visual Studio .NET 2003. Highlighted features of Speech Controls are outlined below. For a more complete description, see the Microsoft Speech Application SDK Version 1.1 (SASDK) Programmer's Reference.
Highlighted Features
Basic Speech Controls are an ASP.NET representation of the fundamental SALT elements prompt and listen. These controls are designed especially for applications running on tap-and-talk client devices, and are used primarily for managing application flow through a graphical user interface (GUI).
Dialog Speech Controls are a set of ASP.NET Web controls that are designed for controlling dialogue flow and managing data in speech-enabled Web applications. Examples of these controls include the QA, CompareValidator and Command controls that can be used for collecting and validating data, and the RecordSound control that records speech and copies the recording from a server running Speech Engine Services, allowing playback on the Web server. The SASDK also includes a number of Dialog Speech Controls for managing phone calls. (See the following section, "Controls Designed Specifically for Call Management.")
Application Speech Controls encapsulate commonly used interactions in a single control, making tasks such as obtaining a phone number quick and easy. The SASDK includes numerous prebuilt application controls, such as:
- A DataTableNavigator control that includes a built-in Select command, the ability to use customized grammars, and the ability to turn built-in commands on and off
- CreditCardNumber and CreditCardDate controls for recognizing spoken credit card numbers and expiration dates
- An AlphaDigits control for obtaining a string of letters and numbers
- A Currency control for obtaining a dollar amount
- A Date control for obtaining date information
- A Phone control for obtaining a phone number
- A YesNo control for recognizing various words that mean "yes" or "no" (for example, "yes," "no," "yeah," "yep," "nope," and others)
Controls Designed Specifically for Call Management
The SASDK includes a number of Dialog Speech Controls that support Computer-Supported Telecommunications Applications (CSTA) services. These include the AnswerCall, TransferCall, MakeCall, and DisconnectCall controls. Developers can use these controls to answer, transfer, initiate, and disconnect telephone calls, as well as gather call information, and send and receive CSTA events. The SASDK also includes a SmexMessage (Simple Messaging Extension) control that developers can use to send and receive raw CSTA messages.Referencing the Active QA
Developers can programmatically reference the QA currently being executed by RunSpeech at run time when using Dialog Speech Controls and Application Speech Controls. This simplifies how developers make decisions in their dialogues based on what turn is executing in the dialogue. The RunSpeech.ActiveQA client-side property can be referenced in client-side JScript code during the execution of any client-side event handler or function, such as functions that reference the ClientActivationFunction property.Pausing Dialogues Managed by RunSpeech
A dialogue managed by RunSpeech can be paused during execution of the dialogue and be restarted later from where it paused. The RunSpeech.Pause and RunSpeech.Resume methods can be called at any point during execution and cause RunSpeech to pause the dialogue at the next possible chance (such as when a prompt has finished playing) and resume the dialogue without any loss of dialogue state.Command and Exception History Tracking
The semantics for determining the last Command/Exception have changed slightly in this release to support tracking the full Command/Exception history during the lifetime of a given QA. The RunSpeech.ActiveQA.History client-side property is an array containing each command (such as Help) or exception (such as NoReco) that has been encountered during execution of the currently active QA. This simplifies how developers choose to respond to multiple occurrences of a command or exception during the execution of a dialogue. For example, a developer can easily choose to transfer a user to an operator after three misrecognitions occur during a single activation of a QA.