ohos: Implement voices in qt speech engine
Collect and cache available voices from m_ttsProxy during
QTextToSpeechEngineOhos construction.
Introduce free functions to help map TextToSpeechProxy::VoiceInfo to
QVoice. QTextToSpeechEngineOhos::availableVoices() now returns the
cached voice list from the private implementation.
Some data from VoiceInfo(style, personTimbre) doesn't directly map to
QVoice, so keep it in extra QVariant data.
Use VoiceInfo::description as the QVoice name due to lack of a dedicated
name field.
setVoice() method remains empty since QVoice parameter can't be used as
any input parameter for TextToSpeechProxy engine API. The only way to
change personTimbre is with language value.
Task-number: QTBUG-147179
Pick-to: 6.12
Change-Id: Ie982767198f8c171329a705a529d1ea3aa90010a
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Zbigniew Chyla <zbigniew.chyla@qt.io>