Я думаю, что Watson TTS поддерживает CORS, поэтому вы должны быть в порядке. Затем аутентификация состоит из двух частей. Сначала используйте APIKey для получения токена, а затем используйте токен в качестве маркера «Носитель» как часть вашего URL-адреса. В документации, однако, говорится, что вы можете передать APIKey напрямую в качестве основного заголовка - https://www.ibm.com/watson/developercloud/text-to-speech/api/v1/curl.html?curl #authentication
Итак, если ваш ключ 123456
, то
var url = " https: // apikey: 123456@stream.watsonplatform.net/ text-to-speech / api / v1 / synthesize? voice = es-ES_EnriqueVoice & amp; accept = audio / wav & amp; text = "+ text;
Однако это означает, что вы передаете свои учетные данные в явном виде в приложении для браузера для всех пользователей. Таким образом, вне локальной тестовой системы совершенно бесполезно. Вам было бы лучше построить серверное приложение, которое либо даст вам токен с истечением срока действия, либо выполняет систезис голоса и возвращает сгенерированный аудиофайл.
Это может сработать:
\p{L}
Это позволит использовать буквы из любого алфавита, если вы хотите использовать только китайские символы (без английских), тогда мне может потребоваться больше времени.
Также я предполагаю, что вы используете Regex правильно, протестируйте этот код с помощью \ p {Han} +, чтобы убедиться, что он все еще не работает.
Regex regex = new Regex(@"\p{Han}+");///the requirement.
Match match = regex.Match("YourString");
if (match.Success)
{
Console.WriteLine("MATCH VALUE: " + match.Value);
}