я использую Voce API распознавания голоса, который построен для Java и C ++. И ниже мой код
#include "C:/Users/yohan/Documents/voce-0.9.1/src/c++/voce.h"#include <iostream>
using namespace std;int main(int argc, char **argv)
{
voce::init("C:/Users/yohan/Documents/voce-0.9.1/lib", true, false, "", "");
voce::synthesize("This is a speech synthesis test.");
voce::synthesize("Type a message to hear it spoken aloud.");
std::cout << "This is a speech synthesis test. "<< "Type a message to hear it spoken aloud." << std::endl;
std::cout << "Type 's' + 'enter' to make the "<< "synthesizer stop speaking. Type 'q' + 'enter' to quit."<< std::endl;
std::string s;
while (s != "q")
{
// Read a line from keyboard.
std::getline(std::cin, s);
if ("s" == s)
{
voce::stopSynthesizing();
}
else
{
// Speak what was typed.
voce::synthesize(s);
}
}
voce::destroy();
// system("pause");
return 0;
}
Когда я запускаю этот код, я ничего не получаю! Никаких ошибок, никаких выходных данных, только открытие окна консоли с сообщением «нажмите return для выхода», и это все! Следующее сообщение было напечатано в консоли QT
Starting C:\Users\yohan\Documents\QTPeojects\Tired-build-Desktop_Qt_5_0_0_beta2_MSVC2010_32bit_SDK-Release\release\Tired.exe...
C:\Users\yohan\Documents\QTPeojects\Tired-build-Desktop_Qt_5_0_0_beta2_MSVC2010_32bit_SDK-Release\release\Tired.exe exited with code 0
voce.h это файл API, вы можете получить его здесь. Этот заголовочный файл использует Jni для преобразования кода Java в C ++. http://sourceforge.net/p/voce/code/HEAD/tree/src/c++/
Пожалуйста помоги!
Попробуйте запустить его в отладчике. Первая строка в вашем main, вероятно, терпит неудачу и просто вызывает exit (0), когда это происходит. Поместите оператор отладки выше этого также.
Удачи. Надеюсь, это поможет.
РЕДАКТИРОВАТЬ: Также не забудьте сделать любую соответствующую проверку ошибок для вызовов библиотеки. Иногда это требует try
catch
блок, или в других случаях, просто проверяя возвращаемое значение из вызовов функций.
Других решений пока нет …