首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sapi声音输出问题

Sapi声音输出问题
EN

Stack Overflow用户
提问于 2017-04-28 07:09:58
回答 1查看 120关注 0票数 0

在使tts引擎与Microsoft SAPI 5.3兼容时,我遇到了一个奇怪的问题。我使用HTS_engine作为产生声音的底层引擎。在我的引擎接收到来自sapi的合成请求并处理它之后,我检索了一个音频数据的缓冲区。然后根据微软提供的示例,通过ISpTTSEngineSite:: write ()将数据写入SAPI应用程序。然而,结果太差了,以至于只剩下声音,不再是声音了。当我使用音频缓冲区来写入wav文件时,它是完全正常的。那么我到底做错了什么呢?

代码语言:javascript
复制
fwrite(audio, sizeof(char), len, outfile); //completely fine
fclose(outfile);
hr = pOutputSite->Write(audio, len, &actual_len); //terrible sound
m_ullAudioOff += len;

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

EN

回答 1

Stack Overflow用户

发布于 2017-04-28 09:03:01

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43669339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档