Как использовать индексные метки в "речь-диспетчер"?
Итак, вопрос как в теме: "Как использовать индексные метки в диспетчере речи?" Я много слышал об этом, но не могу найти учебник по его использованию в SPD_MODE_THREADED. Основная проблема заключается в том, что когда вы отправляете команду "SPEAK", вы не можете изменить режим данных на SPD_DATA_SSML. И я думаю, что я делаю что-то не так. Так что, кто знает, как использовать этот индекс, уроки тоже очень приемлемы. Спасибо!
1 ответ
Решение
Решено, это способ установить индексные метки в диспетчере речи:
pthread_mutex_lock( m_connection->ssip_mutex );
spd_execute_command_wo_mutex( m_connection, "SET SELF SSML_MODE on" );
spd_execute_command_wo_mutex( m_connection, "SPEAK" );
char * reply = spd_send_data_wo_mutex( m_connection, "<speak>Hello, <mark name=\"mark1\"/> how does it work?</speak>", SPD_NO_REPLY );
delete[] reply;
spd_execute_command_wo_mutex( m_connection, "\r\n." );
spd_execute_command_wo_mutex( m_connection, "SET SELF SSML_MODE off" );
pthread_mutex_unlock( m_connection->ssip_mutex );
куда <mark name=\"mark1\"/>
является индексом А также mark1
является именем индекса
Эти документы очень полезны для низкоуровневого общения с диспетчером речи: http://cvs.freebsoft.org/doc/speechd/ssip.html