微软的SAPI现在最新到好像到了5.3在vista下的版本,该代码使用的是SAPI5.1,你可以从微软下载
Download the Microsoft Speech SDK 5.1 package now. (http://download.microsoft.com/download/speechSDK/SDK/5.1/WXP/EN-US/SpeechSDK51.exe) 有关如何下载 Microsoft 支持文件的详细信息请单击下列文章编号以查看 Microsoft 知识库中相应:
下面的代码写的是入门级代码,希望对你有用!
ISpVoice * m_pVoice = NULL;
HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&m_pVoice);
if( SUCCEEDED( hr ) )
{
//Enumerate voice tokens with attribute "Name=Microsoft Sam?
if(SUCCEEDED(hr))
{
hr = SpEnumTokens(SPCAT_VOICES, L"Name=Microsoft Mike", NULL, &m_cpEnum); //Microsoft Mike,Microsoft Mary,Microsoft Sam
}
//Get the closest token
if(SUCCEEDED(hr))
{
hr = m_cpEnum ->Next(1, &m_cpToken, NULL);
}
//set the voice
if(SUCCEEDED(hr))
{
hr = m_pVoice->SetVoice( m_cpToken);
m_pVoice->SetVolume(100);
m_pVoice->SetRate(3);
}
//set the output to the default audio device
if(SUCCEEDED(hr))
{
hr = m_pVoice->SetOutput( NULL, TRUE );
}
//m_pVoice->SetInterest( SPFEI(SPEI_WORD_BOUNDARY),SPFEI(SPEI_WORD_BOUNDARY) );
hr = m_pVoice->Speak(L"Hello joely!", SPF_DEFAULT, NULL);
// 这里使用xml的格式调整法音,如频率,音调等,具体看sdk的帮助文档,写的比较详细
hr = m_pVoice->Speak(L"This sounds normal <pitch middle = '-10'/> but the pitch drops half way through", SPF_IS_XML, NULL );
m_pVoice->Release();
m_pVoice = NULL;
在工程中添加include路径和lib的路径我这里就不细说了,你下载sdk后安装,然后看看安装的目录把相应的路径设置到你的项目中即可,有问题可以给我留言!
转载需要经过本人许可,谢谢!
Download the Microsoft Speech SDK 5.1 package now. (http://download.microsoft.com/download/speechSDK/SDK/5.1/WXP/EN-US/SpeechSDK51.exe) 有关如何下载 Microsoft 支持文件的详细信息请单击下列文章编号以查看 Microsoft 知识库中相应:
下面的代码写的是入门级代码,希望对你有用!
ISpVoice * m_pVoice = NULL;
HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&m_pVoice);
if( SUCCEEDED( hr ) )
{
//Enumerate voice tokens with attribute "Name=Microsoft Sam?
if(SUCCEEDED(hr))
{
hr = SpEnumTokens(SPCAT_VOICES, L"Name=Microsoft Mike", NULL, &m_cpEnum); //Microsoft Mike,Microsoft Mary,Microsoft Sam
}
//Get the closest token
if(SUCCEEDED(hr))
{
hr = m_cpEnum ->Next(1, &m_cpToken, NULL);
}
//set the voice
if(SUCCEEDED(hr))
{
hr = m_pVoice->SetVoice( m_cpToken);
m_pVoice->SetVolume(100);
m_pVoice->SetRate(3);
}
//set the output to the default audio device
if(SUCCEEDED(hr))
{
hr = m_pVoice->SetOutput( NULL, TRUE );
}
//m_pVoice->SetInterest( SPFEI(SPEI_WORD_BOUNDARY),SPFEI(SPEI_WORD_BOUNDARY) );
hr = m_pVoice->Speak(L"Hello joely!", SPF_DEFAULT, NULL);
// 这里使用xml的格式调整法音,如频率,音调等,具体看sdk的帮助文档,写的比较详细
hr = m_pVoice->Speak(L"This sounds normal <pitch middle = '-10'/> but the pitch drops half way through", SPF_IS_XML, NULL );
m_pVoice->Release();
m_pVoice = NULL;
在工程中添加include路径和lib的路径我这里就不细说了,你下载sdk后安装,然后看看安装的目录把相应的路径设置到你的项目中即可,有问题可以给我留言!
转载需要经过本人许可,谢谢!