#javascript #android #reactjs #react-native #text-to-speech
#javascript #Android #reactjs #react-native #преобразование текста в речь
Вопрос:
Мне интересно, как я могу определить, предназначены ли значения, которые я получаю, Speech.getAvailableVoicesAsync()
для женщин или мужчин. Просто нет доступной информации, кроме данных, которые пользователь просто не сможет узнать, что означает.
Я думал о том, чтобы просто заставить пользователя выбирать, какой голос воспроизводить. но его просто сложно представить все, что я получаю Speech.getAvailableVoicesAsync()
.
Есть ли какой-нибудь способ, которым я мог бы сделать его презентабельным. просто Man(en-US)
, как что-то в этом роде.
Я получаю что-то вроде этого
{"identifier": "ur-PK-language", "language": "ur-PK", "name": "ur-PK-language", "quality": "Enhanced"}
Ответ №1:
AFAIK, доступные голоса зависят от платформы, и большинство платформ не предоставляют информацию о поле голоса, за исключением имени (что дает приблизительное представление о iOS, но не в android) — https://github.com/expo/expo/pull/2833 должно помочь для iOS.
Для реализации этого,
Вариант 1: предоставить список доступных голосов и воспроизвести текстовое сообщение по умолчанию при выборе.
Вариант 2: предоставьте ограниченное подмножество известных вам голосов, представляя отображенный результат речи.getAvailableVoicesAsync() с вашим собственным свойством для «пола»: «…».