首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

SAPI中SetOutput调用有关问题

2013-12-13 
SAPI中SetOutput调用问题SAPI的C接口调用。代码如下ISpStream *pWavStreamISpVoice *pVoiceCoInitialize(

SAPI中SetOutput调用问题
SAPI的C接口调用。

代码如下


ISpStream *pWavStream;
ISpVoice *pVoice;
CoInitialize(NULL);
if(  S_OK != CoCreateInstance(&CLSID_SpVoice, 
NULL, 
CLSCTX_ALL, 
&IID_ISpVoice,
(void **)&pVoice)

)
{
apt_log(APT_LOG_MARK, APT_PRIO_DEBUG, "pVoice init failed");
}

if( S_OK != CoCreateInstance(&CLSID_SpStream, 
NULL, 
CLSCTX_ALL, 
&IID_ISpStream,
(void **)&pWavStream)

)
{
    apt_log(APT_LOG_MARK, APT_PRIO_DEBUG, "pWavStream init failed");
}

hr =pVoice->lpVtbl->SetOutput(pVoice,pWavStream,TRUE);



SetOutput调用的返回码是0x80045001。
找不到对应的错误原因,这样调用有问题吗?
pWavStream这个参数用法是否正确?
[解决办法]
直接从MSDN上查找答案吧,参考http://msdn.microsoft.com/en-us/library/ms720410(v=vs.85).aspx

引用:
SAPI的C接口调用。

代码如下

ISpStream *pWavStream;
ISpVoice *pVoice;
CoInitialize(NULL);
if(  S_OK != CoCreateInstance(&CLSID_SpVoice, 
NULL, 
CLSCTX_ALL, 
&IID_ISpVoice,
(void **)&pVoice)

)
{
apt_log(APT_LOG_MARK, APT_PRIO_DEBUG, "pVoice init failed");
}

if( S_OK != CoCreateInstance(&CLSID_SpStream, 
NULL, 
CLSCTX_ALL, 
&IID_ISpStream,
(void **)&pWavStream)

)
{
    apt_log(APT_LOG_MARK, APT_PRIO_DEBUG, "pWavStream init failed");
}

hr =pVoice->lpVtbl->SetOutput(pVoice,pWavStream,TRUE);



SetOutput调用的返回码是0x80045001。
找不到对应的错误原因,这样调用有问题吗?
pWavStream这个参数用法是否正确?

热点排行