AppFramework fornisce un plug-in Speech QML per la funzionalità text-to-speech, che consente alle applicazioni create con AppStudio di supportare feature di accessibilità, come text-to-speech con modulazione vocale. Il componente TextToSpeech può essere usato per fornire feedback audio agli utenti finali, come aiuti per gli utenti con disabilità visive, e per fornire informazioni quando l'utente non sta guardando il proprio dispositivo. Per utilizzare questa funzionalità, è necessario includere prima la seguente istruzione di importazione:
import ArcGIS.AppFramework.Speech 1.0
Convertire testo in voce
ll fulcro del componente TextToSpeech è il metodo di say, che converte il testo inserito in istruzioni pronunciate oralmente. Il seguente esempio di codice fornisce una dimostrazione del suo uso, leggendo il contenuto di un'area di testo quando si fa clic su un pulsante:
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);
}
}
}
Modifica vocale
La voce prodotta dal componente TextToSpeech può essere controllata modificando le proprietà di volume, pitch, e rate del componente stesso. Ognuna di queste proprietà viene memorizzata come un intero a due precisioni (un decimale), con un valore predefinito pari a 50. Il seguente esempio di codice fornisce un cursore per la proprietà di 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;
}
}