找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 4537|回复: 5

【COM】一个超简单的COM实例,演示了怎么使用SpVoice

[复制链接]
发表于 2015-6-14 01:47:41 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
代码只有这么一小点。你不需要引用额外的库。这个直接就可以通过编译。
  1. #include<iostream>

  2. #include<Windows.h>
  3. #include<sapi.h>

  4. using namespace std;

  5. int main(int argc,char**argv)
  6. {
  7.         HRESULT hr;//COM的错误代码

  8.         //初始化COM
  9.         if(FAILED(hr=CoInitialize(NULL)))
  10.         {
  11.                 cout<<"初始化COM失败。"<<endl;
  12.                 return 1;
  13.         }

  14.         ISpVoice*Voice;
  15.         if(FAILED(hr=CoCreateInstance(CLSID_SpVoice,NULL,CLSCTX_INPROC_SERVER,IID_ISpVoice,(LPVOID*)&Voice)))
  16.         {
  17.                 cout<<"无法创建ISpVoice实例。"<<endl;
  18.                 return 1;
  19.         }

  20.         Voice->Speak(TEXT("Hello World. 然而并没有什么卵用。"),SVSFDefault,NULL);
  21.         Voice->Release();
  22.         return 0;
  23. }
复制代码
BIN: speak.exe (15.5 KB, 下载次数: 17)
SRC: Entry.cpp (556 Bytes, 下载次数: 6)
回复

使用道具 举报

发表于 2015-6-23 08:51:47 | 显示全部楼层
就喜欢这种短小精悍的DEMO代码。
回复 赞! 靠!

使用道具 举报

发表于 2022-2-16 10:03:45 | 显示全部楼层
话说SAPI可不可以把语音输出到内存Buffer上?
回复 赞! 靠!

使用道具 举报

 楼主| 发表于 2022-2-16 19:28:33 | 显示全部楼层
系统消息 发表于 2022-2-16 10:03
话说SAPI可不可以把语音输出到内存Buffer上?

没仔细研究,可能不太行

点评

找到了,里面有个SpMemoryStream的类,绑定到SpVoice的AudioOutputStream上就可以了。  发表于 2022-2-17 10:18
回复 赞! 靠!

使用道具 举报

发表于 2022-11-23 23:15:49 | 显示全部楼层
最短小的com编程了,哈哈哈
回复 赞! 靠!

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-11-24 06:09 , Processed in 0.036950 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表