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;
    }

  • 相关阅读:
    反射API(二)
    反射API(一)
    session一二事
    自定义session的存储机制
    JavaScript 入门笔记
    PHP引用赋值
    九九乘法口诀表
    PHP流程控制笔记
    PHP函数总结 (七)
    Linux程序编辑器习题汇总
  • 原文地址:https://www.cnblogs.com/hehe520/p/6330135.html
Copyright © 2011-2022 走看看