AppFramework は、AppStudio で作成されたアプリケーションが、音声変調を伴う音声合成などのアクセシビリティ機能をサポートできるようにする、音声合成機能のための Speech QML プラグインを提供します。この 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 プロパティを変更することで制御できます。これらのプロパティは、倍精度整数 (小数点以下 1 桁) で、デフォルト値は 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;
}
}