QTextToSpeech Class
Die Klasse „QTextToSpeech“ bietet einen bequemen Zugriff auf Text-to-Speech-Engines. Mehr...
| Header: | #include <QTextToSpeech> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS TextToSpeech) target_link_libraries(mytarget PRIVATE Qt6::TextToSpeech) |
| qmake: | QT += texttospeech |
| Erbt von: | QObject |
Öffentliche Typen
| enum class | BoundaryHint { Default, Immediate, Word, Sentence, Utterance } |
| flags | Capabilities |
(since 6.6) enum class | Capability { None, Speak, PauseResume, WordByWordProgress, Synthesize } |
| enum class | ErrorReason { NoError, Initialization, Configuration, Input, Playback } |
| enum | State { Ready, Speaking, Synthesizing, Paused, Error } |
Eigenschaften
|
Öffentliche Funktionen
| QTextToSpeech(QObject *parent = nullptr) | |
| QTextToSpeech(const QString &engine, QObject *parent = nullptr) | |
(since 6.4) | QTextToSpeech(const QString &engine, const QVariantMap ¶ms, QObject *parent = nullptr) |
| virtual | ~QTextToSpeech() override |
| QList<QLocale> | availableLocales() const |
| QList<QVoice> | availableVoices() const |
| QString | engine() const |
| QTextToSpeech::Capabilities | engineCapabilities() const |
| QTextToSpeech::ErrorReason | errorReason() const |
| QString | errorString() const |
(since 6.6) QList<QVoice> | findVoices(Args &&... args) const |
| QLocale | locale() const |
| double | pitch() const |
| double | rate() const |
(since 6.4) bool | setEngine(const QString &engine, const QVariantMap ¶ms = QVariantMap()) |
| QTextToSpeech::State | state() const |
(since 6.6) void | synthesize(const QString &text, Functor &&functor) |
(since 6.6) void | synthesize(const QString &text, const QObject *context, Functor &&functor) |
| QVoice | voice() const |
| double | volume() const |
Öffentliche Slots
(since 6.6) qsizetype | enqueue(const QString &utterance) |
| void | pause(QTextToSpeech::BoundaryHint boundaryHint = QTextToSpeech::BoundaryHint::Default) |
| void | resume() |
| void | say(const QString &text) |
| void | setLocale(const QLocale &locale) |
| void | setPitch(double pitch) |
| void | setRate(double rate) |
| void | setVoice(const QVoice &voice) |
| void | setVolume(double volume) |
| void | stop(QTextToSpeech::BoundaryHint boundaryHint = QTextToSpeech::BoundaryHint::Default) |
Signale
(since 6.6) void | aboutToSynthesize(qsizetype id) |
| void | engineChanged(const QString &engine) |
| void | errorOccurred(QTextToSpeech::ErrorReason reason, const QString &errorString) |
| void | localeChanged(const QLocale &locale) |
| void | pitchChanged(double pitch) |
| void | rateChanged(double rate) |
(since 6.6) void | sayingWord(const QString &word, qsizetype id, qsizetype start, qsizetype length) |
| void | stateChanged(QTextToSpeech::State state) |
| void | voiceChanged(const QVoice &voice) |
| void | volumeChanged(double volume) |
Statische öffentliche Mitglieder
| QStringList | availableEngines() |
Detaillierte Beschreibung
Verwenden Sie „ say()“, um das Einlesen von Text in das Standard-Audiogerät zu starten, sowie „ stop()“, „ pause()“ und „ resume()“, um das Einlesen des Textes zu steuern.
connect(ui.speakButton, &QPushButton::clicked, m_speech, [this]{
m_speech->say(ui.plainTextEdit->toPlainText());
});
connect(ui.stopButton, &QPushButton::clicked, m_speech, [this]{
m_speech->stop();
});
connect(ui.pauseButton, &QPushButton::clicked, m_speech, [this]{
m_speech->pause();
});
connect(ui.resumeButton, &QPushButton::clicked, m_speech, &QTextToSpeech::resume);Um Text zur weiteren Verarbeitung in PCM-Daten umzuwandeln, verwenden Sie ` synthesize()`.
Verwenden Sie „ findVoices()“, um eine Liste der passenden Stimmen abzurufen, oder verwenden Sie „ availableVoices()“, um die Liste der Stimmen zu erhalten, die die aktuelle Ländereinstellung unterstützen. Ändern Sie die Eigenschaft „ locale “, indem Sie eine der „ availableLocales()“-Funktionen verwenden, die gut zur Sprache des Eingabetextes und zum Akzent der gewünschten Sprachausgabe passt. Dadurch ändert sich auf den meisten Plattformen die Liste der verfügbaren Stimmen. Verwenden Sie anschließend eine der verfügbaren Stimmen in einem Aufruf von ` setVoice()` ().
Nicht jede Engine unterstützt alle Funktionen. Verwenden Sie die Funktion „ engineCapabilities()“, um zu prüfen, welche Funktionen verfügbar sind, und passen Sie die Verwendung der Klasse entsprechend an.
Hinweis: Welche Sprachumgebungen und Stimmen die Engine unterstützt, hängt in der Regel von der Konfiguration des Betriebssystems ab. Unter macOS können Endbenutzer beispielsweise Stimmen über den Bereich „Barrierefreiheit“ in den Systemeinstellungen installieren.
Dokumentation zu Mitgliedstypen
enum class QTextToSpeech::BoundaryHint
beschreibt, wann die Sprache unterbrochen und angehalten werden sollte.
| Konstant | Wert | Beschreibung |
|---|---|---|
QTextToSpeech::BoundaryHint::Default | 0 | Verwendet das enginespezifische Standardverhalten. |
QTextToSpeech::BoundaryHint::Immediate | 1 | Die Engine sollte die Wiedergabe sofort anhalten. |
QTextToSpeech::BoundaryHint::Word | 2 | Die Sprachwiedergabe wird beendet, sobald das aktuelle Wort beendet ist. |
QTextToSpeech::BoundaryHint::Sentence | 3 | Die Sprachausgabe wird beendet, sobald der aktuelle Satz beendet ist. |
QTextToSpeech::BoundaryHint::Utterance (since Qt 6.6) | 4 | Die Sprachausgabe wird beendet, sobald die aktuelle Äußerung beendet ist. Eine Äußerung ist der Textblock, der bei einem Aufruf von ` say()` oder ` enqueue()` verwendet wird. Hinweis: Dies sind Hinweise für die Engine. Die aktuelle Engine unterstützt möglicherweise nicht alle Optionen. |
[since 6.6] enum class QTextToSpeech::Capability
flags QTextToSpeech::Capabilities
Diese Enumeration beschreibt die Funktionen einer Text-to-Speech-Engine.
| Konstante | Wert | Beschreibung |
|---|---|---|
QTextToSpeech::Capability::None | 0 | Die Engine implementiert keine der Funktionen. |
QTextToSpeech::Capability::Speak | 1 << 0 | Die Engine kann Audioausgabe aus Text wiedergeben. |
QTextToSpeech::Capability::PauseResume | 1 << 1 | Die Engine kann die Audioausgabe anhalten und anschließend fortsetzen. |
QTextToSpeech::Capability::WordByWordProgress | 1 << 2 | Die Engine sendet für jedes gesprochene Wort das Signal „ sayingWord()“ aus. |
QTextToSpeech::Capability::Synthesize | 1 << 3 | Die Engine kann PCM-Audiodaten aus Text „ synthesize “. |
Diese Enumeration wurde in Qt 6.6 eingeführt.
Der Typ „Capabilities“ ist ein typedef für QFlags<Capability>. Er speichert eine ODER-Kombination von Capability-Werten.
Siehe auch ` engineCapabilities()`.
enum class QTextToSpeech::ErrorReason
Diese Enumeration beschreibt den aktuellen Fehler (falls vorhanden) der „ QTextToSpeech “-Engine.
| Konstante | Wert | Beschreibung |
|---|---|---|
QTextToSpeech::ErrorReason::NoError | 0 | Es ist kein Fehler aufgetreten. |
QTextToSpeech::ErrorReason::Initialization | 1 | Das Backend konnte nicht initialisiert werden, z. B. aufgrund eines fehlenden Treibers oder fehlender Betriebssystemvoraussetzungen. |
QTextToSpeech::ErrorReason::Configuration | 2 | Die angegebene Backend-Konfiguration ist inkonsistent, z. B. aufgrund eines falschen Sprachnamens oder falscher Parameter. |
QTextToSpeech::ErrorReason::Input | 3 | Der angegebene Text konnte nicht synthetisiert werden, z. B. aufgrund einer ungültigen Länge oder ungültiger Zeichen. |
QTextToSpeech::ErrorReason::Playback | 4 | Die Audiowiedergabe ist fehlgeschlagen, z. B. aufgrund eines fehlenden Audiogeräts, eines falschen Formats oder einer Unterbrechung des Audio-Streams. |
Verwenden Sie ` errorReason()` (), um den aktuellen Fehler abzurufen, und ` errorString()` (), um die zugehörige Fehlermeldung zu erhalten.
Siehe auch errorOccurred().
enum QTextToSpeech::State
Diese Enumeration beschreibt den aktuellen Status der Text-to-Speech-Engine.
| Konstante | Wert | Beschreibung |
|---|---|---|
QTextToSpeech::Ready | 0 | Der Sprachsynthesizer ist bereit, einen neuen Text abzuspielen. Dies ist auch der Zustand, nachdem ein Text beendet wurde. |
QTextToSpeech::Speaking | 1 | Der Text wird gerade vorgelesen. |
QTextToSpeech::Synthesizing | 4 | Der Text wird in PCM-Daten synthetisiert. Das Signal „synthesized()“ wird mit Datenblöcken ausgegeben. |
QTextToSpeech::Paused | 2 | Die Synthese wurde angehalten und kann mit ` resume()` fortgesetzt werden. |
QTextToSpeech::Error | 3 | Es ist ein Fehler aufgetreten. Details werden von ` errorReason()` ausgegeben. |
Siehe auch „ QTextToSpeech::ErrorReason“ , „ errorReason “() und „ errorString “().
Dokumentation zu den Eigenschaften
[since 6.4] engine : QString
Diese Eigenschaft enthält die Engine, die zur Synthese von Text-zu-Sprache verwendet wird.
Durch das Ändern der Engine wird jede laufende Sprachausgabe unterbrochen.
Auf den meisten Plattformen wird durch das Ändern der Engine die Liste der „ available locales “ und „ available voices “ aktualisiert.
Diese Aufzählung wurde in Qt 6.4 eingeführt.
Zugriffsfunktionen:
| QString | engine() const | |
| bool | setEngine(const QString &engine, const QVariantMap ¶ms = QVariantMap()) | [see note below] |
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
Notifier-Signal:
| void | engineChanged(const QString &engine) |
[read-only, since 6.6] engineCapabilities : Capabilities
Diese Eigenschaft enthält die von der aktuellen Engine implementierten Funktionen
Diese Aufzählung wurde in Qt 6.6 eingeführt.
Zugriffsfunktionen:
| QTextToSpeech::Capabilities | engineCapabilities() const |
Notifier-Signal:
| void | engineChanged(const QString &engine) |
Siehe auch engine.
locale : QLocale
Diese Eigenschaft enthält die aktuell verwendete Ländereinstellung.
Standardmäßig wird die System-Locale verwendet.
Auf einigen Plattformen führt eine Änderung der Ländereinstellung zu einer Aktualisierung der Liste „ available voices “; ist die aktuelle Stimme unter der neuen Ländereinstellung nicht verfügbar, wird eine neue Stimme festgelegt.
Zugriffsfunktionen:
| QLocale | locale() const |
| void | setLocale(const QLocale &locale) |
Benachrichtigungssignal:
| void | localeChanged(const QLocale &locale) |
Siehe auch ` voice ` und ` findVoices()`.
pitch : double
Diese Eigenschaft gibt die Stimmhöhe an, die im Bereich von -1,0 bis 1,0 liegt.
Der Standardwert 0,0 entspricht der normalen Sprechstimme.
Zugriffsfunktionen:
| double | pitch() const |
| void | setPitch(double pitch) |
Benachrichtigungssignal:
| void | pitchChanged(double pitch) |
rate : double
Diese Eigenschaft enthält die aktuelle Sprechgeschwindigkeit, die zwischen -1,0 und 1,0 liegt.
Der Standardwert 0,0 entspricht einem normalen Sprachfluss.
Zugriffsfunktionen:
| double | rate() const |
| void | setRate(double rate) |
Benachrichtigungssignal:
| void | rateChanged(double rate) |
[read-only] state : State
Diese Eigenschaft enthält den aktuellen Zustand des Sprachsynthesizers.
void MainWindow::stateChanged(QTextToSpeech::State state)
{
switch (state) {
case QTextToSpeech::Speaking:
ui.statusbar->showMessage(tr("Speech started..."));
break;
case QTextToSpeech::Ready:
ui.statusbar->showMessage(tr("Speech stopped..."), 2000);
break;
case QTextToSpeech::Paused:
ui.statusbar->showMessage(tr("Speech paused..."));
break;
default:
ui.statusbar->showMessage(tr("Speech error!"));
break;
}
ui.pauseButton->setEnabled(state == QTextToSpeech::Speaking);
ui.resumeButton->setEnabled(state == QTextToSpeech::Paused);
ui.stopButton->setEnabled(state == QTextToSpeech::Speaking || state == QTextToSpeech::Paused);
}Verwenden Sie „ say()“, um die Textsynthese mit den aktuellen Werten für „ voice “ und „ locale “ zu starten.
Zugriffsfunktionen:
| QTextToSpeech::State | state() const |
Benachrichtigungssignal:
| void | stateChanged(QTextToSpeech::State state) |
voice : QVoice
Diese Eigenschaft enthält die Stimme, die für die Sprachausgabe verwendet wird.
Die Stimme muss eine der für die Engine verfügbaren Stimmen sein ( voices available ).
Auf einigen Plattformen führt die Einstellung der Stimme dazu, dass sich andere Sprachattribute wie „ locale “, „ pitch “ usw. ändern. Diese Änderungen lösen die Ausgabe von Signalen aus.
Zugriffsfunktionen:
| QVoice | voice() const |
| void | setVoice(const QVoice &voice) |
Notifier-Signal:
| void | voiceChanged(const QVoice &voice) |
Siehe auch „ findVoices()“.
volume : double
Diese Eigenschaft enthält die aktuelle Lautstärke, die zwischen 0,0 und 1,0 liegt.
Der Standardwert entspricht der Standardlautstärke der Plattform.
Zugriffsfunktionen:
| double | volume() const |
| void | setVolume(double volume) |
Notifier-Signal:
| void | volumeChanged(double volume) |
Dokumentation der Mitgliedsfunktionen
[explicit] QTextToSpeech::QTextToSpeech(QObject *parent = nullptr)
Lädt eine Text-to-Speech-Engine aus einem Plug-in, das das Standard-Engine-Plug-in verwendet, und erstellt ein `QTextToSpeech`-Objekt als untergeordnetes Objekt von ` parent`.
Die Standard-Engine ist plattformspezifisch.
Wenn die Engine korrekt initialisiert wird, ändert sich der Wert von ` state ` der Engine auf ` QTextToSpeech::Ready`; beachten Sie, dass dies asynchron geschehen kann. Wenn das Laden des Plug-ins fehlschlägt, wird ` state ` auf ` QTextToSpeech::Error` gesetzt.
Siehe auch availableEngines().
[explicit] QTextToSpeech::QTextToSpeech(const QString &engine, QObject *parent = nullptr)
Lädt eine Text-to-Speech-Engine aus einem Plug-in, das dem Parameter „ engine “ entspricht, und erstellt ein QTextToSpeech-Objekt als untergeordnetes Element von „ parent “.
Ist „ engine “ leer, wird das Standard-Engine-Plugin verwendet. Die Standard-Engine ist plattformspezifisch.
Wenn die Engine korrekt initialisiert wird, wird der Parameter ` state ` der Engine auf ` QTextToSpeech::Ready` gesetzt. Wenn das Laden des Plug-ins fehlschlägt oder die Engine nicht initialisiert werden kann, wird der Parameter ` state ` der Engine auf ` QTextToSpeech::Error` gesetzt.
Siehe auch availableEngines().
[explicit, since 6.4] QTextToSpeech::QTextToSpeech(const QString &engine, const QVariantMap ¶ms, QObject *parent = nullptr)
Lädt eine Text-to-Speech-Engine aus einem Plug-in, das dem Parameter „ engine “ entspricht, und erstellt ein „QTextToSpeech“-Objekt als untergeordnetes Element von „ parent “, wobei „ params “ an die Engine weitergeleitet wird.
Ist ` engine ` leer, wird das Standard-Engine-Plug-in verwendet. Die Standard-Engine ist plattformspezifisch. Welche Schlüssel-Wert-Paare in ` params ` unterstützt werden, hängt von der Engine ab. Einzelheiten finden Sie in der Dokumentation der jeweiligen Engine. Nicht unterstützte Einträge werden ignoriert.
Wenn die Engine korrekt initialisiert wird, wird die Variable ` state ` der Engine auf ` QTextToSpeech::Ready` gesetzt. Wenn das Laden des Plugins fehlschlägt oder die Initialisierung der Engine fehlschlägt, wird die Variable ` state ` der Engine auf ` QTextToSpeech::Error` gesetzt.
Diese Funktion wurde in Qt 6.4 eingeführt.
Siehe auch „ availableEngines()“.
[override virtual noexcept] QTextToSpeech::~QTextToSpeech()
Löscht dieses „ QTextToSpeech “-Objekt und beendet damit jegliche Sprachausgabe.
[signal, since 6.6] void QTextToSpeech::aboutToSynthesize(qsizetype id)
Dieses Signal wird unmittelbar vor dem Start des Engines ausgegeben, um die Sprachaudiodaten für „ id “ zu synthetisieren. „ id “ ist der Wert, der durch einen Aufruf von „ enqueue()“ zurückgegeben wird. Anwendungen können dieses Signal nutzen, um in letzter Minute Änderungen an den Attributen von „ voice “ vorzunehmen oder den Verarbeitungsprozess von Text zu verfolgen, der über „ enqueue()“ in die Warteschlange gestellt wurde.
Diese Funktion wurde in Qt 6.6 eingeführt.
Siehe auch „ enqueue()“, „ synthesize()“ und „ voice “.
[static invokable] QStringList QTextToSpeech::availableEngines()
Ruft die Liste der unterstützten Plug-ins für Text-to-Speech-Engines ab.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
Siehe auch engine.
[invokable] QList<QLocale> QTextToSpeech::availableLocales() const
Gibt die Liste der von der aktiven engine unterstützten Locales zurück.
Hinweis: Diese Funktion kann über das Metaobjekt-System und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
Siehe auch ` availableVoices()` und ` findVoices()`.
[invokable] QList<QVoice> QTextToSpeech::availableVoices() const
Gibt die Liste der für das aktuelle locale verfügbaren Stimmen zurück.
Hinweis: Wenn keine Locale festgelegt wurde, wird die System-Locale verwendet.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
Siehe auch ` availableLocales()` und ` findVoices()`.
[slot, since 6.6] qsizetype QTextToSpeech::enqueue(const QString &utterance)
Fügt „ utterance “ zur Warteschlange der vorzusprechenden Texte hinzu und beginnt mit dem Vorlesen. Gibt den Index des Textes in der Warteschlange zurück oder -1 im Falle eines Fehlers.
Wenn das „ state “ der Engine derzeit „ Ready “ lautet, wird „ utterance “ sofort vorgelesen. Andernfalls beginnt die Engine mit dem Vorlesen von „ utterance “, sobald sie den aktuellen Text vorgelesen hat.
Jedes Mal, wenn die Engine zum nächsten Texteintrag in der Warteschlange übergeht, wird das Signal „ aboutToSynthesize()“ ausgesendet. Dies ermöglicht es Anwendungen, den Fortschritt zu verfolgen und in letzter Minute Änderungen an den Sprachattributen vorzunehmen.
Der Aufruf von ` stop()` leert die Warteschlange. Um die Engine am Ende eines Textes anzuhalten, verwenden Sie den Begrenzungshinweis ` Utterance `.
Diese Funktion wurde in Qt 6.6 eingeführt.
Siehe auch ` say()`, ` stop()`, ` aboutToSynthesize()` und ` synthesize()`.
[signal] void QTextToSpeech::errorOccurred(QTextToSpeech::ErrorReason reason, const QString &errorString)
Dieses Signal wird ausgelöst, nachdem ein Fehler aufgetreten ist und „ state “ auf „ QTextToSpeech::Error “ gesetzt wurde. Der Parameter „ reason “ gibt die Art des Fehlers an, und „ errorString “ liefert eine für Menschen lesbare Fehlerbeschreibung.
QTextToSpeech::ErrorReason ist kein registrierter Metatyp, daher müssen Sie ihn für Verbindungen in der Warteschlange mit den Funktionen „ Q_DECLARE_METATYPE()“ und „ qRegisterMetaType()“ registrieren.
Siehe auch errorReason(), errorString() und „Erstellen benutzerdefinierter Qt-Typen“.
[invokable] QTextToSpeech::ErrorReason QTextToSpeech::errorReason() const
Gibt den Grund zurück, warum die Engine einen Fehler gemeldet hat.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
Siehe auch state und errorOccurred().
[invokable] QString QTextToSpeech::errorString() const
Gibt die aktuelle Fehlermeldung der Engine zurück.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
Siehe auch errorOccurred().
[since 6.6] template <typename... Args> QList<QVoice> QTextToSpeech::findVoices(Args &&... args) const
Gibt die Liste der Stimmen zurück, die den Kriterien unter args entsprechen.
Die Argumente in „ args “ werden der Reihe nach verarbeitet, um die Liste der Stimmen zusammenzustellen, die allen Kriterien entsprechen. Ein Argument vom Typ „ QString “ wird mit dem „ name “ der Stimme abgeglichen, ein Argument vom Typ „ QLocale “ mit dem „ locale “ der Stimme usw. Es ist möglich, nur die „ Language “ oder „ Territory “ der gewünschten Stimmen anzugeben, und der Name kann mit einem „ regular expression “ abgeglichen werden.
Diese Funktion gibt alle Stimmen zurück, wenn die Liste der Kriterien leer ist. Mehrere Kriterien desselben Typs sind nicht zulässig und führen zu einem Kompilierungsfehler.
Hinweis: Sofern „ args “nicht die aktuelle „ locale “ enthält, muss diese Funktion möglicherweise die Locale der Engine ändern, um die Liste aller Stimmen abzurufen. Dies ist enginespezifisch, kann jedoch Auswirkungen auf die laufende Sprachsynthese haben. Es wird daher empfohlen, diese Funktion nur dann aufzurufen, wenn „ state “ auf „ Ready “ gesetzt ist.
Diese Funktion wurde in Qt 6.6 eingeführt.
Siehe auch „ availableVoices()“.
[slot] void QTextToSpeech::pause(QTextToSpeech::BoundaryHint boundaryHint = QTextToSpeech::BoundaryHint::Default)
Hält die aktuelle Sprachausgabe unter boundaryHint an.
Ob der Wert „ boundaryHint “ berücksichtigt wird, hängt von „ engine “ ab.
Siehe auch resume() und PauseResume.
[slot] void QTextToSpeech::resume()
Die Sprachausgabe wird fortgesetzt, nachdem „ pause()“ aufgerufen wurde.
Hinweis: Unter Android wird die Wiedergabe der angehaltenen Sprachausgabe von Anfang an fortgesetzt. Dies ist eine Einschränkung der zugrunde liegenden Text-to-Speech-Engine.
Siehe auch ` pause()`.
[slot] void QTextToSpeech::say(const QString &text)
Beginnt mit der Wiedergabe von „ text “.
Diese Funktion beginnt asynchron mit der Sprachsynthese und liest den Text über das Standard-Audioausgabegerät vor.
connect(ui.speakButton, &QPushButton::clicked, m_speech, [this]{
m_speech->say(ui.plainTextEdit->toPlainText());
});Hinweis: Alle laufenden Vorlesevorgänge werden angehalten, bevor mit dem Vorlesen des neu synthetisierten Textes begonnen wird.
Der aktuelle Status ist über die Eigenschaft „ state “ abrufbar und wird auf „ Speaking “ gesetzt, sobald das Vorlesen beginnt. Nach Abschluss des Vorlesens wird „ state “ auf „ Ready “ gesetzt.
Siehe auch „ enqueue()“, „ stop()“, „ pause()“, „ resume()“ und „ synthesize()“.
[signal, since 6.6] void QTextToSpeech::sayingWord(const QString &word, qsizetype id, qsizetype start, qsizetype length)
Dieses Signal wird ausgelöst, wenn das „ word “ – also der Textabschnitt, auf den in der Äußerung „ id “ durch „ start “ und „ length “ verwiesen wird – auf dem Audiogerät wiedergegeben wird.
Hinweis: Fürdieses Signal muss die Engine über die Funktion „ WordByWordProgress “ verfügen.
Diese Funktion wurde in Qt 6.6 eingeführt.
Siehe auch „ Capability “ und „ say()“.
[invokable, since 6.4] bool QTextToSpeech::setEngine(const QString &engine, const QVariantMap ¶ms = QVariantMap())
Legt die von diesem „ QTextToSpeech “-Objekt verwendete Engine auf „ engine “ fest und übergibt dabei „ params “ an den Konstruktor der Engine.
Gibt zurück, ob „ engine “ erfolgreich gesetzt werden konnte.
Welche Schlüssel-Wert-Paare in ` params ` unterstützt werden, hängt von der Engine ab. Einzelheiten finden Sie in der Dokumentation der jeweiligen Engine. Nicht unterstützte Einträge werden ignoriert.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe „ Q_INVOKABLE “.
Hinweis: Setter -Funktion für die Eigenschaft „ engine “.
Diese Funktion wurde in Qt 6.4 eingeführt.
Siehe auch „ engine()“.
[slot] void QTextToSpeech::stop(QTextToSpeech::BoundaryHint boundaryHint = QTextToSpeech::BoundaryHint::Default)
Hält den aktuellen Lesevorgang bei „ boundaryHint “ an und löscht die Warteschlange mit ausstehenden Texten.
Das Lesen kann nicht fortgesetzt werden. Ob der Wert ` boundaryHint ` berücksichtigt wird, hängt von der Engine ab.
Siehe auch „ say()“, „ enqueue()“ und „ pause()“.
[since 6.6] template <typename Functor> void QTextToSpeech::synthesize(const QString &text, Functor &&functor)
[since 6.6] template <typename Functor> void QTextToSpeech::synthesize(const QString &text, const QObject *context, Functor &&functor)
Synthetisiert die „ text “ in Roh-Audiodaten.
Diese Funktion synthetisiert die Sprache asynchron in Roh-Audiodaten. Sobald Daten verfügbar sind, wird die „ functor “ entweder als „ functor(QAudioFormat format, QByteArray bytes) “ aufgerufen, wobei „ format “ die „ format “ der Daten in „ bytes “ beschreibt, oder als „ functor(QAudioBuffer &buffer) “.
Die Eigenschaft „ state “ wird zu Beginn der Synthese auf „ Synthesizing “ gesetzt und nach Abschluss der Synthese auf „ Ready “. Während der Synthese kann die Funktion „ functor “ mehrfach aufgerufen werden, möglicherweise mit wechselnden Werten für „ format “.
Die ` functor ` kann ein aufrufbares Objekt sein, wie beispielsweise ein Lambda oder eine freie Funktion, mit einem optionalen ` context `-Objekt:
tts.synthesize("Hello world", [](const QAudioFormat &format, const QByteArray &bytes){
// process data according to format
});oder eine Mitgliedsfunktion des ` context `-Objekts:
struct PCMProcessor : QObject
{
void processData(const QAudioFormat &format, const QByteArray &bytes)
{
// process data according to format
}
} processor;
tts.synthesize("Hello world", &processor, &PCMProcessor::processData);Wird „ context “ zerstört, wird „ functor “ nicht mehr aufgerufen.
Hinweis: Diese API setzt voraus, dass die Engine über die Funktion „ Synthesize “ verfügt.
Diese Funktionen wurden in Qt 6.6 eingeführt.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.