Supporting ShowSounds in Your Applications
Microsoft Corporation
March 2002
Summary: This article discusses the ShowSounds system parameter that instructs applications to display visual equivalents, such as text captions or informative symbols, for application speech and sounds. ShowSounds is enabled or disabled through Accessibility Options in Control Panel in Microsoft Windows XP and Microsoft Windows 2000. (3 printed pages)
- Introduction
- Benefits of ShowSounds
- Types of Sounds that Require ShowSounds Support
- Accessing ShowSounds Programmatically
Introduction
The ShowSounds system parameter instructs applications to display visual equivalents, such as text captions or informative symbols, for application speech and sounds. The user can enable or disable ShowSounds through Accessibility Options in Control Panel in Microsoft Windows XP and Microsoft Windows 2000.
Obviously, your application must support ShowSounds for visual equivalents to appear. Microsoft recommends that all applications provide such support. However, various approaches exist for creating and implementing visual equivalents.
The type of visual equivalents your application provides is entirely up to you. For example, let's say you're designing a multimedia product that includes a video of someone speaking before the United States Congress. The application could display synchronized captions that describe the setting and what the speaker is saying. Three existing multimedia products that use captions are Microsoft Encarta Encyclopedia, Microsoft Windows Media Player, and The Magic School Bus by Scholastic Inc.
On the other hand, let's say you are designing an email program. If the program sounds a beep to alert the user that a high-priority email message has arrived, the program could also display a blinking exclamation point symbol on the Windows taskbar.
Note
Your application cannot override the user's ShowSounds preference. In other words, you cannot display visual equivalents if the user does not want them.
Benefits of ShowSounds
According to recent studies, in the United States alone there are approximately two million people who have some form or degree of hearing loss. For them, a text-based or graphics-based environment provides a productive and accessible work environment. However, in instances where events occur requiring the user's intervention, a sound cue alone will not catch his or her attention and draw it to the event.
While ShowSounds is primarily intended for deaf or hard-of-hearing users, it can be a valuable option for other customers as well. For example, visual cues can be a significant aid for someone learning a foreign language, for those with learning disabilities, or for customers using the PC in a loud environment, such as a factory floor. For them, some kind of visual cue must occur to focus their attention on the event so they can intervene. The same holds true for users on a computer without sound capability.
Note
The user's selection of ShowSounds does not restrict an application to presenting information visually. A user should be able to request visual feedback regardless of whether he or she also wants audible feedback.
Types of Sounds that Require ShowSounds Support
To provide ShowSounds support, you first need to know the difference between a visual equivalent and a visual indication. A visual equivalent contains the same information that is normally conveyed by a sound alone. For example, a caption that contains the lyrics of a song would be a visual equivalent to the playing of that song. On the other hand, a visual indication merely indicates that a sound is playing — without providing specific information about that sound. For example, a symbol on the Windows Taskbar that says Music! is a visual indication that a song is playing.
If the user has selected ShowSounds, your application should display visual equivalents for all sounds that convey information important to the operation of the application. It should also display visual equivalents for sounds that normally supplement visual material. For example, if an audio track describes the content or setting of a video, captions can provide information equivalent to that audio track. For music and other sounds that convey no information, your application needs only to display visual indications.
Generally, your application does not need to provide ShowSounds support for sounds that merely emphasize visual events, such as the beep that often accompanies the appearance of a message box.
Designing the User Interface to Support ShowSounds
The design of the visual equivalents is application-specific and depends on the information that will be presented to the user. Different applications use different forms of visual equivalents, such as captions or symbols. You should use standard Windows application design principles for user interface (UI) design.
Accessing ShowSounds Programmatically
The ShowSounds system parameter is accessible to all applications built on Win32, .NET, or HTML+TIME technology.
Accessing ShowSounds from a Win32 or .NET Application
From a Win32 or .NET application, call the GetSystemMetrics function with the SM_SHOWSOUNDS parameter to get the value of the ShowSounds system parameter.
Note
You can also get or set ShowSounds by calling the SystemParametersInfo function with the SPI_GETSHOWSOUNDS or SPI_SETSHOWSOUNDS parameter, respectively. Getting ShowSounds in this manner is equivalent to calling GetSystemMetrics with SM_SHOWSOUNDS. Programmatically setting ShowSounds is not recommended.
From a .NET application, the ShowSounds system parameter is also accessible as the ShowSounds property of the SystemInformation class.
Accessing ShowSounds from an HTML+TIME Application
From an HTML+TIME 2.0 application, access ShowSounds though the systemCaptions and systemOverdubOrSubtitle attributes, which are supported by Microsoft Internet Explorer version 5.5 and later.
If the user has selected ShowSounds, systemCaptions is set to "on" and systemOverdubOrSubtitle is set to "subtitle." If ShowSounds is disabled, systemCaptions is set to "off" and systemOverdubOrSubtitle is set to "overdub."
Note
For more information about HTML+TIME, see HTML+TIME.