TextToSpeech QML Type

The TextToSpeech type provides access to text-to-speech engines. 更多...

导入语句: import QtTextToSpeech

特性

信号

方法

详细描述

使用 say () to start reading text to the default audio device, and stop (), pause (),和 resume () to control the reading of the text.

    TextToSpeech {
        id: tts
        volume: volumeSlider.value
        pitch: pitchSlider.value
        rate: rateSlider.value
    ...
        RowLayout {
            Button {
                text: qsTr("Speak")
                enabled: [TextToSpeech.Paused, TextToSpeech.Ready].includes(tts.state)
                onClicked: {
                    tts.say(input.text)
                }
            }
            Button {
                text: qsTr("Pause")
                enabled: tts.state == TextToSpeech.Speaking
                onClicked: tts.pause()
            }
            Button {
                text: qsTr("Resume")
                enabled: tts.state == TextToSpeech.Paused
                onClicked: tts.resume()
            }
    ...
					

To synthesize text into PCM data for further processing, use synthesize().

The list of voices the engine supports for the current language is returned by availableVoices (). Change the language using the locale property, using one of the availableLocales () that is a good match for the language that the input text is in, and for the accent of the desired voice output. This will change the list of available voices on most platforms. Then use one of the available voices in the voice 特性。

注意: Which locales and voices the engine supports depends usually on the Operating System configuration. E.g. on macOS, end users can install voices through the 可访问性 panel in System Preferences .

特性文档编制

engine : string

The engine used to synthesize text to speech.

Changing the engine stops any ongoing speech.

On most platforms, changing the engine will update the list of available locales and available voices .


locale : locale

This property holds the current locale in use.

By default, the system locale is used.

另请参阅 voice .


pitch : double

This property hold the voice pitch, ranging from -1.0 to 1.0.

The default of 0.0 is the normal speech pitch.


rate : double

This property holds the current voice rate, ranging from -1.0 to 1.0.

The default of 0.0 is the normal speech flow.


state : enumeration

This property holds the current state of the speech synthesizer.

        onStateChanged: (state) => {
            switch (state) {
                case TextToSpeech.Ready:
                    statusLabel.text = qsTr("Ready")
                    break
                case TextToSpeech.Speaking:
                    statusLabel.text = qsTr("Speaking")
                    break
                case TextToSpeech.Paused:
                    statusLabel.text = qsTr("Paused...")
                    break
                case TextToSpeech.Error:
                    statusLabel.text = qsTr("Error!")
                    break
            }
        }
										

另请参阅 QTextToSpeech::State , say (), stop (),和 pause ().


voice : Voice

This property holds the voice that will be used for the speech.

The voice needs to be one of the voices available for the engine.

On some platforms, setting the voice changes other voice attributes such as locale , pitch , and so on. These changes trigger the emission of signals.


volume : double

This property holds the current volume, ranging from 0.0 to 1.0.

The default value is the platform's default volume.


信号文档编制

void errorOccured ( enumeration reason , string errorString )

This signal is emitted after an error occurred and the state has been set to TextToSpeech.Error reason parameter specifies the type of error, and the errorString provides a human-readable error description.

注意: 相应处理程序是 onErrorOccured .

另请参阅 state , errorReason (),和 errorString ().


方法文档编制

list < string > availableEngines ()

Holds the list of supported text-to-speech engine plug-ins.


list < Voice > availableLocales ()

Holds the list of locales that are supported by the active engine .


list < Voice > availableVoices ()

Holds the list of voices available for the current locale .


enumeration errorReason ()

Returns the reason why the engine has reported an error.

另请参阅 QTextToSpeech::ErrorReason .


string errorString ()

Returns the current engine error message.


pause ( BoundaryHint boundaryHint )

Pauses the current speech at boundaryHint .

是否 boundaryHint is respected depends on the engine .

另请参阅 resume () 和 QTextToSpeech::BoundaryHint .


resume ()

Resume speaking after pause () 被调用。

另请参阅 pause ().


say ( string text )

Starts synthesizing the text .

This function starts sythesizing the speech asynchronously, and reads the text to the default audio output device.

        RowLayout {
            Button {
                text: qsTr("Speak")
                enabled: [TextToSpeech.Paused, TextToSpeech.Ready].includes(tts.state)
                onClicked: {
                    tts.say(input.text)
                }
            }
																					

注意: All in-progress readings are stopped before beginning to read the recently synthesized text.

The current state is available using the state property, and is set to QTextToSpeech::Speaking once the reading starts. When the reading is done, state will be set to QTextToSpeech::Ready .

另请参阅 stop (), pause (),和 resume ().


stop ( BoundaryHint boundaryHint )

Stops the current reading at boundaryHint .

The reading cannot be resumed. Whether the boundaryHint is respected depends on the engine.

另请参阅 say (), pause (),和 QTextToSpeech::BoundaryHint .