收录日期:2019/10/18 22:06:40 时间:2016/05/06 18:20:38 标签:基础类
TTS怎么用?(C++BUILDER)
我在电脑爱好者上看到过,但是DEPHI的,我试着改成了C++BUILDER程序,不料错误一堆,请教各位高手,怎么办?
到www.borland.com.cn上去看一看。
呵呵,我刚搞定了一个:
启动BCB,打开菜单项PROJECT->Import Type Library...,在弹出的对话框中单击Add,选择
windows\speech目录下的Vtxtauto.tlb,加入VtxtAuto[Version 1.0]一项。单击OK,BCB
就会自动生成一个VtxtAuto_TLB.cpp文件。这个文件包含了TTS引擎的COM类接口,可以用来与DLL文件通信。新建一个工程,将这个文件包含进来:
源码如下:
运行通过,不过小弟的声卡刚好坏掉。帮我试试看效果如何。有问题的话请告诉我。
//Unit.h

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
        TEdit *Edit1;
        TButton *Button1;
        void __fastcall FormCreate(TObject *Sender);
        void __fastcall Button1Click(TObject *Sender);
private:    // User declarations
public:        // User declarations
        __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
//Unit.cpp
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "wstring.h"
#include "VTxtAuto_TLB.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
IVTxtAuto *IVTxtAuto1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    WideString a = "Demo1";
    WideString b = "Project1.exe";
    WideString c= "Hi,I am trying to speak to you,Do you hear me?";

    IVTxtAuto1 = NULL;
    CoInitialize(NULL);
    OleCheck(CoCreateInstance(CLSID_VTxtAuto_,0,CLSCTX_ALL,IID_IVTxtAuto, (LPVOID*)&IVTxtAuto1));
    IVTxtAuto1->Register(a,b);
    IVTxtAuto1->set_Enabled(1);
    IVTxtAuto1->set_Speed(150);
    IVTxtAuto1->Speak(c,vtxtsp_VERYHIGH);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    if(IVTxtAuto1 != NULL)
    {
      IVTxtAuto1->Speak((WideString)Edit1->Text,vtxtsp_VERYHIGH);
      ShowMessage("OK");//我的调试语句(没声卡)
    }else{
      ShowMessage("服务器没有初始化成功");
    }
}
//---------------------------------------------------------------------------
//Project.cpp
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
USERES("Project1.res");
USEFORM("Unit1.cpp", Form1);
USEUNIT("D:\Borland\CBuilder5\Imports\VTxtAuto_TLB.CPP");
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
        try
        {
                Application->Initialize();
                Application->CreateForm(__classid(TForm1), &Form1);
                Application->Run();
        }
        catch (Exception &exception)
        {
                Application->ShowException(&exception);
        }
        return 0;
}
//---------------------------------------------------------------------------  

while...里加if...提示错误 关于C#服务与桌面交互的问题 DropDownList问题 tinyxml的具体用法 哈尔滨麻将算法问题 触发器问题求助!!! 求一条SQL 昨天面试没写出来 看首页——《是谁扼杀了技术创新?》 有感 博客缺少维护还是维护不及时? 怎样使用jquery datapicker 怎么把test leader做好? 请各位帮忙解决下问题,我是新手。 漏电保护电路?? 有谁知道北京奥博杰天? GDB如何调试 makefile的系列文件 获取系统的TCP连接后如何结束它? DIV嵌套出问题,高度不对,子DIV跑到外面 我在windows7下启动visual studio 2005的问题 DLL工程属性改成静态编译后库函数不能使用! SOCKET网络编程页面与数据同步 Update 超时问题 EdbgOutputDebugString 问题 【请教】读取图像灰度值的.dat文件问题 保持0分状态 中000001号 推荐一个学习网站优化及推广的网站 byte[] 转换。 求教 DataList为什么不能分页 求一sql语句 最近开始学习J2ME,希望能向各位多多学习