提交 9d0ad92d authored 作者: Seven Du's avatar Seven Du 提交者: Muteesa Fred

FS-11237 #resolve speak text with colon

上级 12e3b717
......@@ -1307,38 +1307,22 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_play_file(switch_core_session_t *sess
continue;
}
} else if (!strncasecmp(file, "say:", 4)) {
char *engine = NULL, *voice = NULL, *text = NULL;
alt = file + 4;
dup = switch_core_session_strdup(session, alt);
engine = dup;
const char *engine = NULL, *voice = NULL, *text = NULL;
if (!zstr(engine)) {
if ((voice = strchr(engine, ':'))) {
*voice++ = '\0';
if (!zstr(voice) && (text = strchr(voice, ':'))) {
*text++ = '\0';
}
}
}
alt = file + 4;
text = alt;
engine = switch_channel_get_variable(channel, "tts_engine");
voice = switch_channel_get_variable(channel, "tts_voice");
if (!zstr(engine) && !zstr(voice) && !zstr(text)) {
if ((status = switch_ivr_speak_text(session, engine, voice, text, args)) != SWITCH_STATUS_SUCCESS) {
if (engine && text) {
if ((status = switch_ivr_speak_text(session, engine, voice, (char *)text, args)) != SWITCH_STATUS_SUCCESS) {
arg_recursion_check_stop(args);
return status;
}
} else {
text = engine;
engine = (char *) switch_channel_get_variable(channel, "tts_engine");
voice = (char *) switch_channel_get_variable(channel, "tts_voice");
if (engine && text) {
if ((status = switch_ivr_speak_text(session, engine, voice, text, args)) != SWITCH_STATUS_SUCCESS) {
arg_recursion_check_stop(args);
return status;
}
} else {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Invalid Args\n");
}
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Invalid Args\n");
}
continue;
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论