把qq信息用语音读出的几个问题

原创 2004年09月13日 21:32:00

读出qq信息需要涉及到几个问题:

1、就是要利用到microsoft speech sdk 5.1开发包做为文本语音的转换

2、就是如何提取出qq窗口中需要的信息

首先需要把qq信息设定为自动弹出

这样程序可以动态地捕捉到弹出的qq窗口

为其分别开起一个发声线程,或者把信息加到特定的信息队列以便依次读出


 

HWND g_hParantWnd = ::FindWindow(NULL, "查看消息");
 if (g_hParantWnd )
 {  
    m_client=AfxBeginThread(RUNTIME_CLASS   ( CServerThread),THREAD_PRIORITY_ABOVE_NORMAL,0,0,NULL );
  ((CServerThread*)m_client)->ThreadProc (g_hParantWnd);
    ThreadProc,&g_hParantWnd, CREATE_SUSPENDED,NULL);
}


 另外需要说明的是各个重要的信息窗口的id号


 

HWND hChildQQCode = ::GetDlgItem(g_hParantWnd, 223);//发信人的id
HWND hChildQQName = ::GetDlgItem(g_hParantWnd, 285);//发信人的昵称
HWND hChildQQTime = ::GetDlgItem(g_hParantWnd, 1078);//发信时间

但是更重要的是文本信息窗口,文本信息窗口采用的是CRichEditCtrl形式

因此需要绑定工作

HWND hWnd = ::FindWindowEx(g_hParantWnd, NULL, "AfxWnd42", NULL);
      HWND hChildQQText = ::GetDlgItem(hWnd, 896);//文本的id

     CRichEditCtrl  x;
     x.Attach(hChildQQText);//绑定
     int nLineCount = x.GetLineCount();
     for ( int j=0; j    {
          x.GetLine(j, Text, 255);
          list->InsertString (i++,Text);
          str.Format ("%s",Text);
          pSpVoice->Speak(str.AllocSysString(), SPF_DEFAULT, NULL);

          //调用microsoft speech sdk接口

     }
     x.Detach();
     ::SendMessage(g_hParantWnd, WM_CLOSE, 0, 0);//关闭qq消息框


至于microsoft speech sdk 5.1的调用,基本上就是对其com特定接口函数的操作

首先包含


 

#include

#include

 ISpObjectToken * pSpObjectToken ;



pSpObjectToken = NULL;
 if (FAILED(CoInitialize(NULL)))
 {
  AfxMessageBox("Error to intiliaze COM");
  return false;
 }

pSpVoice = NULL;
HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL,
  IID_ISpVoice, (void **)&pSpVoice);
SUCCEEDED(SpFindBestToken(SPCAT_VOICES, L"language=804",
  NULL, &pSpObjectToken));//804为中文语音
pSpVoice->SetVoice(pSpObjectToken);


之后就可以如先前代码中的

pSpVoice->Speak(str.AllocSysString(), SPF_DEFAULT, NULL);

读取相应的信息了。

通过以上的操作,完全可以做一款,对qq信息的分离提取,并加入语音的小软件

适合于在主人不在时信息的记录,或主人做其他事情而不能留意显示器时,可以自动地为之读出需要的信息。

以上内容出于自娱自乐,希望老师们多多指导,谢谢

仿QQ音乐代码

一,效果图。 二,工程图。 三,代码。 RootViewController.h #import #import @interface RootVi...
  • u013320620
  • u013320620
  • 2016年03月03日 07:56
  • 1146

QQ音乐与网易云音乐的比较

关于网易云音乐与QQ音乐的软件比较 杨海峰  计科131  调研   类别 描      述 评分 网易云音乐 QQ音乐 ...
  • qq_27926481
  • qq_27926481
  • 2016年03月16日 13:14
  • 1391

从配置文件或数据库中读取信息并缓存

从配置文件或数据库中读取信息并缓存
  • w_basketboy
  • w_basketboy
  • 2014年08月11日 14:36
  • 2663

QQ获取用户信息

在获取sso授权成功后(zheshi)。
  • yueqinglkong
  • yueqinglkong
  • 2014年05月07日 18:19
  • 6414

英语邮件中常用的礼貌用语

感谢别人回复邮件 Thank you for your prompt reply. Thank you for getting back to me. 感谢帮助 Thank you for a...
  • northgun1
  • northgun1
  • 2013年01月08日 09:39
  • 4180

QQ登陆,获取QQ用户信息

一.登陆QQ互联,创建网站应用or移动应用 地址:http://connect.qq.com/  1.获取appid和app key  2.设置网站地址和回调地址,注:回调地址是用户在网页中登陆Q...
  • u011127019
  • u011127019
  • 2015年05月09日 15:32
  • 4848

Android 仿QQ消息界面

values 下面 dimens.xml "activity_horizontal_margin">16dp "activity_vertical_mar...
  • LM_ZP
  • LM_ZP
  • 2016年05月12日 09:31
  • 1524

获取QQ聊天窗口信息

由于新版QQ聊天窗口只有一个窗口句柄,聊天信息编辑框内的
  • cqes123
  • cqes123
  • 2014年04月30日 12:38
  • 2448

android-从音频数据库获取音乐数据

android-从音频数据库获取音乐数据 在android中,手机开机或者有SD卡插拔等事件发生时,系统将会自动扫描SD卡和手机内存上的媒体文件,如音频,视频,图片等,将相应的信息放到定义好...
  • qq_22830795
  • qq_22830795
  • 2017年05月09日 21:08
  • 683

Android之QQ授权登录获取用户信息

有时候我们开发的app需要方便用户简单登录,可以让用户使用自己的qq、微信、微博登录到我们自己开发的app。 今天就在这里总结一下如何在自己的app中集成QQ授权登录获取用户信息的功能。 ...
  • l970859633
  • l970859633
  • 2017年05月03日 14:24
  • 798
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:把qq信息用语音读出的几个问题
举报原因:
原因补充:

(最多只允许输入30个字)