El AppFramework ofrece un plug-in QML de voz para la funcionalidad del sistema de texto a voz que permite que las aplicaciones creadas con AppStudio sean compatibles con características de accesibilidad tales como el sistema de texto a voz con modulación de la voz. Este componente TextToSpeech se puede utilizar para ofrecer comentarios de audio a los usuarios finales, además de ofrecer ayuda a usuarios invidentes y suministrar información cuando el usuario no esté mirando su dispositivo. Para utilizar esta funcionalidad, primero tiene que incluir la siguiente instrucción de importación:
import ArcGIS.AppFramework.Speech 1.0
Convertir texto a voz
La esencia del componente TextToSpeech es el método say, que convierte texto enviado en una instrucción verbal. En la siguiente muestra de código se muestra utilizándose, leyendo el contenido de un área de texto cuando se hace clic sobre un botón:
ColumnLayout {
anchors {
fill: parent
margins: 4 * AppFramework.displayScaleFactor
}
TextToSpeech {
id: textToSpeech
}
Rectangle {
Layout.fillWidth: true
Layout.preferredHeight: 200 * scaleFactor
color: transparent
border.color: black
border.width: 1 * scaleFactor
TextArea {
id: sayText
width: parent.width
Material.accent: "#8f499c"
padding: 5 * scaleFactor
selectByMouse: true
wrapMode: TextEdit.WrapAnywhere
text: "This text will be read."
}
}
Button {
Layout.fillWidth: true
text: "Say it"
onClicked: {
textToSpeech.say(sayText.text);
}
}
}
Modificación de la voz
La voz producida por el componente TextToSpeech se puede controlar si modifica las propiedades volume, pitch y rate del componente. Cada una de estas propiedades se almacena como entero de doble precisión (un punto decimal), siendo el valor predeterminado 50. La siguiente muestra de código ofrece un control deslizante de la propiedad volume:
Slider {
id: volumeSlider
Layout.fillWidth: true
Layout.leftMargin: 10 * AppFramework.displayScaleFactor
Layout.rightMargin: Layout.leftMargin
from: 0
to: 100
stepSize: 1
onValueChanged: {
textToSpeech.volume = value/100;
}
}