Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio Sapi声音输出问题_Visual Studio_Text To Speech_Sapi - Fatal编程技术网

Visual studio Sapi声音输出问题

Visual studio Sapi声音输出问题,visual-studio,text-to-speech,sapi,Visual Studio,Text To Speech,Sapi,在使tts引擎与Microsoft SAPI 5.3兼容时,我遇到了一个奇怪的问题。我使用HTS_引擎作为产生声音的底层引擎。在我的引擎接收到来自sapi的合成请求并对其进行处理后,我检索了一个音频数据缓冲区。然后根据Microsoft提供的示例,我通过ISpTTSEngineSite::write()将数据写入SAPI应用程序。然而,结果是如此糟糕,它被减少到只有声音,不再是声音。当我使用音频缓冲区写入wav文件时,它是完全正确的。我做错了什么 fwrite(audio, sizeof(cha

在使tts引擎与Microsoft SAPI 5.3兼容时,我遇到了一个奇怪的问题。我使用HTS_引擎作为产生声音的底层引擎。在我的引擎接收到来自sapi的合成请求并对其进行处理后,我检索了一个音频数据缓冲区。然后根据Microsoft提供的示例,我通过ISpTTSEngineSite::write()将数据写入SAPI应用程序。然而,结果是如此糟糕,它被减少到只有声音,不再是声音。当我使用音频缓冲区写入wav文件时,它是完全正确的。我做错了什么

fwrite(audio, sizeof(char), len, outfile); //completely fine
fclose(outfile);
hr = pOutputSite->Write(audio, len, &actual_len); //terrible sound
m_ullAudioOff += len;

我确实仔细阅读了和示例代码,但不知道问题出在哪里。

好的,我解决了问题。SAPI支持很多声音格式,但我的引擎只提供44khz单声道16位声音。因此,当sapi尝试将数据转换为默认的11khz单声道16位时,声音会失真。我只需要把它转换成正确的格式,然后解决它