Qt 文本到语音(TextToSpeech)的变更

Qt 6 是经过精心设计,以使其框架更加高效、易于使用的成果。

我们尝试在每个版本中维护所有公共 API 的二进制和源代码兼容性。但是,为了使 Qt 更好的框架,一些变化是不可避免的。

在本主题中,我们将总结 Qt TextToSpeech 的这些变更,并提供处理它们的方法。

可用引擎

Qt 5 中可用的所有引擎在 Qt 6.4 中也可用。有关 Qt 6.4 中可用引擎的完整列表,请参见 Qt TextToSpeech Engines

引擎现在可以接收额外的配置参数。在构建 QTextToSpeech 实例时,传递一个带有关键/值对的 QVariantMap

API 变更

Qt TextToSpeech 模块已经经历了一些基本的整合和清理。切换到 Qt 6 应该需要最小的移植工作。

QTextToSpeech

枚举值 QTextToSpeech::State::BackendError 已更名为 Error。详细的错误信息可通过 QTextToSpeech::errorReason() 和 QTextToSpeech::errorString() 获取。

新的 engine 属性允许更改初始化的 QTextToSpeech 对象上的引擎。

函数 pauseQTextToSpeech::stop 使用了 QTextToSpeech::BoundaryHint 枚举值。如果信号有之前被忽略的参数,这将破坏使用 PMF 语法进行的信号/槽连接的编译。

connect(stopButton, &QPushButton, tts, &QTextToSpeech::stop);

要么连接不带参数的信号,要么使用 lambda 并显式调用相应的槽方法。

connect(stopButton, &QPushButton, tts, [tts]{ tts->stop(); });

QVoice

使用 QVoice 类的现有代码将继续按以前的方式工作。现在可以通过 QDataStream 序列化 QVoice 对象。

QTextToSpeechEngineQTextToSpeechPlugin

这些类已从公共 API 中删除。它们仍然存在,并由可用引擎实现,但它们不是文档化和支持的 API 的一部分,并且在未来的版本中可能会发生变化。

版权所有© 2024 Qt公司有限公司。本文件中包含的文档贡献均为其各自所有者的版权。所提供的文档许可协议遵循由自由软件基金会发布的GNU自由文档许可证版本1.3。Qt及其相关标志是Qt公司有限公司在芬兰及全球其他国家的注册商标。所有其他商标均为其各自所有者的财产。