首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SPERR_NOT_FOUND + Kinect +Kinect

SPERR_NOT_FOUND + Kinect +Kinect
EN

Stack Overflow用户
提问于 2012-02-02 08:21:16
回答 1查看 489关注 0票数 0

我已经创建了一个解决方案,它使用microsoft SAPI来识别语法文件中定义的语音。

就其本身而言,此代码工作得很好。但是,当我将它与运行Kinect SDK的同一个程序集成时,它在线路上失败:

代码语言:javascript
复制
hr = cpRecognizer->SpGetDefaultTokenFromCategoryId(SPCAT_AUDIOIN,&pAudioToken);
//At this point, HR == -2147200966 == SPERR_NOT_FOUND

我已尝试将kinect外部的麦克风插入可用的麦克风端口,并将其设置为默认麦克风。这也没有给我带来什么joy。

然后使用pAudioToken调用cpRecognizer->SetInput(pAudioToken,TRUE);

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-09 08:10:10

需要考虑的一件事是桌面SAPI识别器和服务器SAPI识别器之间的差异。不幸的是,很难(通过视觉检查)确定您包含的是哪一个-它们都被命名为sapi.h,但是类别ID是不同的。

一个简单的区别是,对于服务器版本,SAPI_VER为0x055,而对于桌面版本,则为0x054或更低。

然而,这里的关键区别在于SPCAT_AUDIOIN (音频输入类别)在服务器SAPI头和桌面SAPI头中的命名不同,并且对于服务器识别器来说,音频输入类别完全有可能没有缺省标记。

插入麦克风不会改变服务器识别器关于默认输入的概念,尽管它会改变桌面识别器的默认输入。

我建议使用SpEnumTokens助手遍历音频输入类别,看看有哪些输入设备可用。

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

https://stackoverflow.com/questions/9105440

复制
相关文章

相似问题

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