zoukankan      html  css  js  c++  java
  • 实现文本到声音的转换(WAVE)

    //text_to_wave.CPP

    #include <sapi.h>
    #include <sphelper.h>

    #pragma comment(lib,"ole32.lib")
    #pragma comment(lib,"sapi.lib")

    int main(int argc, char* argv[])
    {
     ISpVoice * pVoice = NULL;
     //COM初始化:
     if (FAILED(::CoInitialize(NULL)))
      return FALSE;
     
     //获取ISpVoice:
     HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL,
      IID_ISpVoice, (void **)&pVoice);
     if( SUCCEEDED( hr ) )
     {
      CComPtr<ISpStream>   cpWavStream;
      CComPtr<ISpStreamFormat> cpOldStream;
      CSpStreamFormat OriginalFmt;
      pVoice->GetOutputStream( &cpOldStream );
      OriginalFmt.AssignFormat(cpOldStream);
      
      //绑定文件:
      hr = SPBindToFile( L"D://output.wav",SPFM_CREATE_ALWAYS,
       &cpWavStream,&OriginalFmt.FormatId(),
       OriginalFmt.WaveFormatExPtr() );

      if( SUCCEEDED( hr ) )
      {
       pVoice->SetOutput(cpWavStream,TRUE);
       WCHAR WTX[] = L"<VOICE REQUIRED='NAME=Microsoft Mary'/>text to wave";
       pVoice->Speak(WTX, SPF_IS_XML, NULL);
       pVoice->Release();
       pVoice = NULL;
      }
     }

     //释放COM资源:
     ::CoUninitialize();  
     return TRUE;
    }

  • 相关阅读:
    Android中得到布局文件对象有三种方式
    android中的键值对
    .length()与.length与.size()
    异常处理
    Python操作Excel
    写一个简单的爬虫(博客)
    开发一个登录接口(Mysql)
    常用模块
    内置函数
    装饰器
  • 原文地址:https://www.cnblogs.com/hehe520/p/6330135.html
Copyright © 2011-2022 走看看