Help / WLanguage / WLanguage functions / Mobile specific functions / Speech Synthesis functions
  • Operating mode
  • Application in the background: Specific case from Android 10
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WindowsLinuxPHPWEBDEV - Browser code
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Stored procedures
Reads the specified text using the device's text-to-speech engine.
SpeechSynthesisReadText("WINDEV is great!")
<Result> = SpeechSynthesisReadText(<Text> [, <Locking>])
<Result>: Integer
  • True if the text was read (locking mode) or if the text was added to the reading queue (non-locking mode),
  • False in case of failure. If an error occurs, the ErrorOccurred variable is set to True. To get more details on the error, use ErrorInfo.
<Text>: Character string
Text to read.
<Locking>: Optional boolean
  • True: the function is run in locking mode. The code following the call to the function will be run once the entire text is read or when the function fails. An hourglass will be displayed during the read operation. Use NextTitle to customize the message displayed by the hourglass.
    iPhone/iPadIOS WidgetMac Catalyst This runtime mode is not available.
  • False (default value): the function is run in non-locking mode. The code following the call to the function will be run as soon as the reading of the text starts or when the function fails.

Operating mode

  • AndroidAndroid Widget Speech synthesis functions are only available on devices with Android 1.6 or higher (API level 4).
    A fatal error occurs if the function is used with an earlier system version.
    To determine the version of Android the application is running on, use SysAndroidVersion.
  • iPhone/iPadIOS WidgetMac Catalyst Speech synthesis functions are only available on devices with iOS 7 and higher. The speech synthesis does not operate on the iOS 8 emulators.
  • AndroidAndroid Widget If no engine for speech synthesis is installed on the device, its download will be automatically proposed.
    If the language to be used for speech synthesis is not the system language, this language must be specified in Android's "Text-to-speech Engine" settings. In "Language", replace "Use system language" with the desired language.
  • If a new read operation is triggered while another read operation is in progress, the new read operation will start once the first one is over.
    To know whether a read operation is in progress on the speech synthesis engine, use SpeechSynthesisInProgress.
    To stop the current read operations, use SpeechSynthesisStop.
  • To define the parameters that will be used by the engine for speech synthesis (language, reading speed, etc.), use SpeechSynthesisInitialize.
    If the speech synthesis parameters have not been previously defined by SpeechSynthesisInitialize, the default parameters will be used and the language for text reading will be the first language available for the speech synthesis engine according to the following sequence:
    • Application language (default language or language defined by Nation),
    • Language of device,
    • English,
    • Default language of engine for speech synthesis.
  • To read the content of a text file, use SpeechSynthesisReadFile.
  • AndroidAndroid Widget To adjust the volume, use VolumeModify with the volumeMusic constant.
  • Caution: SpeechSynthesisReadText does not instantaneously read the text when the mobile device is in standby mode. In this case, you can:
    • prevent from going in standby mode with SysStandby.
    • AndroidAndroid Widget use a persistent thread (ThreadPersistent) in order for the application to continue to run even during the standby mode.
Universal Windows 10 App Required application feature
When this function is used, an application feature is declared in the application generation wizard.
Required feature: Microphone: This feature allows the applications to perform audio recordings.
AndroidAndroid Widget

Application in the background: Specific case from Android 10

From Android 10, it is no longer possible to open a window when the application is in the background.
SpeechSynthesisReadText can open a window. If this function is used while the application is in the background, a fatal error will occur.
  • It is possible to determine if the application is in the background using InBackgroundMode.
  • If an application needs to interact with the user while it is in the background, the solution is to display a notification (via the Notification type). The application will be brought back to the foreground when the notification is clicked, if the ActivateApplication property is set to True. You can also open a window from the procedure passed to the ActionClick property.
Related Examples:
Android Speech Synthesis Android (WINDEV Mobile): Android Speech Synthesis
[ + ] This educational example explains how to manage the recognition and the speech synthesis Android.
The speech synthesis is performed by using either the WLanguage functions, or an external JAR file included in the WINDEV Mobile project.
Component: wd280android.aar
Minimum version required
  • Version 17
This page is also available for…
Filling fields via voice
30 Mar. 2020

Last update: 06/22/2023

Send a report | Local help