Microsoft SAPI5 음성 엔진을 사용하는 응용 프로그램을 개발 중입니다. 그러나 나는 벽에 부딪쳤다. 나는 TTS 엔진이 그것을 반복 할 수 있도록 사용자로부터의 입력을 저장하는 변수의 데이터를 사용하려고 노력해 왔습니다. 그러나 sapi5 스피치 함수는 문자열, wstrings 또는 LPCWSTR을 제외한 다른 유형을 허용하지 않습니다. 내 연구에서 와이드 문자열에 대한 포인터이므로 wstrings을 허용해서는 안됩니까?sapi5에서 사용자 입력 데이터를 저장하는 변수를 저장합니다.
다음은 MSDN에서 몇 가지 예제 코드입니다 :
...
wstring text;
if(SUCCEEDED(hr))
{
wcin >> text;
hr = pVoice->Speak(text, SPF_IS_XML, NULL);
pVoice->Release();
pVoice = NULL;
}
...
그러나이 작동하지 않습니다
#include <stdafx.h>
#include <sapi.h>
int main(int argc, char* argv[])
{
ISpVoice * pVoice = NULL;
if (FAILED(::CoInitialize(NULL)))
return FALSE;
HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice;);
if(SUCCEEDED(hr))
{
hr = pVoice->Speak(L"Hello world", 0, NULL);
pVoice->Release();
pVoice = NULL;
}
::CoUninitialize();
return TRUE;
}
그래서 예를 들어 내가이 코드 조각이 있다고 할 수 있습니다. LPCWSTR 타입을 허용하는 변수를 저장하는 방법은 무엇입니까? 저는 C++을 처음 접했을 때 처음으로 이런 종류의 문제가 생겨서 매우 새로운 것입니다. 고체 연구의 https://stackoverflow.com/questions/12292790/how-do-i-use-variables-in-sapi-tts