用TTS技术开发具有文本朗读功能的应用程序(转)之三

本文介绍如何使用VC++6.0结合SAPI实现Text-to-Speech应用,包括创建工程、设置SAPI路径、设计界面及添加朗读代码等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在下面介绍的程序中,用VC++6.0实现了Text-to-Speech的应用。

1)创建一个工程

建立一个工程,Projects选项卡中选择MFC AppWizard (exe);下一步中选择Dialog based类型。

2 设置SAPI路径

  应用TTS必须用到头文件sapi.hsapi.lib,为了能编译通过必须设置SAPI路径:

a.       在选中tools菜单中的option子项。

b.       选中Directories选项卡。

c.       选中Show directries for列表框中选中include files项,并在Directories中添加sapi头文件路径:例如:"C:/Program Files/Microsoft Speech SDK 5.1/Include".

d.       选中Show directries for列表框中选中Library files项,并在Directories中添加sapi LIB文件路径:例

3 设计程序界面

  添加如图所示的编辑框和命令按钮。

 

 

 

 

 

2  程序界面

4 添加代码

  双击speak按钮,添加朗读代码:

void CExe1Dlg::Onspeak()

{

   UpdateData();

 

    // 2) SAPI voice

ISpVoice * pVoice = NULL;

   

    // 1)初始化COM

    if (FAILED(CoInitialize(NULL)))

    {

        AfxMessageBox("Error to intiliaze COM");

        return;

    }

    //  2)初始化SAPI

    HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL,

        CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice);

    if( SUCCEEDED( hr ) )

{  

// 3)朗读编辑框中的文字

    hr = pVoice->Speak(m_mytext.AllocSysString(), 0, NULL);

        //完成发声后可以将声音对象释放

        pVoice->Release();

        pVoice = NULL;

    }

   

//  1)与CoInitialize(NULL)成对使用,释放COM

    CoUninitialize();

}

注:m_mytext是编辑框的变量名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值