AppFramework предоставляет плагин Speech QML для звукового распознавания текста, которая активизируется в приложениях, созданных в AppStudio для поддержки возможностей доступности, например голосового распознавания текста с модуляциями. Компонент TextToSpeech можно использовать для предоставления звуковой обратной связи конечным пользователям, включая слабовидящих пользователей, и предоставляя информацию для пользователей, которые в данный момент не смотрят на устройство. Чтобы использовать эту функциональность, вы сначала должны включить следующие утверждения импорта:
import ArcGIS.AppFramework.Speech 1.0
Конвертацию текста в речь
Ядро компонента TextToSpeech – это метод say, который конвертирует переданный текст в произнесённые фразы. Следующий пример кода демонстрирует его в действии, зачитывая содержимое текстовой области по нажатию кнопки:
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);
}
}
}
Голосовые изменения
Производимый компонентом TextToSpeech голос может контролироваться путём изменения свойств volume, pitch и rate компонента. Каждое из свойств хранится как целое число двойной точности, где значение по умолчанию – 50. Следующий пример кода предоставляет бегунок для свойства 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;
}
}