📄 在visual c++6_0中使用text-to-speech.mht
字号:
pDisp =3D voice.m_lpDispatch;=20
HRESULT hr =3D pDisp->QueryInterface(CLSID_SpVoice, =
(void**)&voice.m_lpDispatch);=20
if (hr =3D=3D S_OK) {=20
pDisp->Release();=20
}=20
else {=20
voice.AttachDispatch(pDisp, TRUE);=20
}
voice.Speak("Hello World", 1); // asynchronous call to Speak method =
of ISpeechVoice interface
</PRE>=CE=D2=B5=C4=B3=CC=D0=F2=B4=F3=BC=D2=CF=EA=BC=FB=B4=FA=C2=EB=A1=A3<=
BR><BR>=C1=F9=A1=A2<B>=C5=D7=D7=A9=D2=FD=D3=F1</B><BR><BR>=A1=A1=A1=A1=CE=
=D2=CF=D6=D4=DA=D3=D0=BC=B8=B8=F6=CE=CA=CC=E2=CF=A3=CD=FB=BA=CD=B4=F3=BC=D2=
=D2=BB=C6=F0=CC=D6=C2=DB=A3=AC=C7=EB=B8=DF=CA=D6=B2=BB=C1=DF=B4=CD=BD=CC=A1=
=A3
<UL>
<LI>1. =
=C8=E7=BA=CE=B5=F7=BD=DA=D3=EF=B5=F7=A1=A3=C9=F9=D2=F4=D6=AE=CB=F9=D2=D4=D3=
=D0Mary=BA=CDSam=B5=C4 =
=C7=F8=B1=F0=A3=AC=CA=B5=BC=CA=C9=CF=CA=C7=D3=EF=B5=F7=B2=BB=CD=AC=A1=A3 =
<LI>2. =
=D4=C4=B6=C1=CA=B1=D3=EF=D2=F4=BA=CD=CE=C4=B1=BE=CD=AC=B2=BD=A3=AC=BC=B4=B6=
=C1=B5=BD=C4=C4=B8=F6=B5=A5=B4=CA=BE=CD=B0=D1=C4=C4=B8=F6=B5=A5=B4=CA=B8=DF=
=C1=C1=CF=D4=CA=BE=A1=A3=20
<LI>3. =C8=E7=BA=CE=B0=D1 Windows =C9=CF=B5=C4 TTS =
=D2=C6=D6=B2=B5=BD PocketPC=20
=
=C9=CF=C3=E6=A1=A3=D5=E2=B8=F6=CE=CA=CC=E2=CA=C7=CE=D2=D7=EE=CE=AA=B9=D8=D0=
=C4=B5=C4=A3=AC=C8=E7=B9=FB=D3=D0=B8=DF=C8=CB=D6=AA=B5=C0=A3=AC=D0=A1=C9=FA=
=D3=D0=C0=F1=D4=D9=D3=D0=C0=F1=A3=AC=D2=BB=B6=A8=B8=E6=CB=DF=CE=D2=B0=A1=A3=
=AC=D0=BB=D0=BB=D0=BB=D0=BB=D4=D9=D0=BB=D0=BB=A1=A3<BR><BR>=D0=A1=C9=FA=B5=
=C4=20
Email=A3=BAskysoft_z@sina.com=20
</LI></UL></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
<DIV align=3Dcenter><BR><BR>
<TABLE class=3Dsmall height=3D18 cellSpacing=3D0 cellPadding=3D0 =
width=3D"98%" border=3D0>
<TBODY>
<TR vAlign=3Dcenter>
<TD width=3D"47%" bgColor=3D#a0d39b><IMG height=3D10=20
src=3D"http://www.vckbase.com/SYS/script/image/toplogo.gif" =
width=3D10>=D7=EE=D0=C2=C6=C0=C2=DB <A=20
=
href=3D"http://www.vckbase.com/SYS/script/viewcomment.asp?gclsid=3D100&am=
p;itemid=3D1051"=20
target=3D_blank><SPAN =
class=3Dsmall>[=B7=A2=B1=ED=C6=C0=C2=DB]</SPAN></A> <A=20
href=3D"http://www.vckbase.com/support/contribute.html" =
target=3D_blank><SPAN=20
class=3Dsmall>[=CE=C4=D5=C2=CD=B6=B8=E5]</SPAN></A></TD>
<TD align=3Dright width=3D"53%" bgColor=3D#a0d39b><IMG height=3D9 =
src=3D"" width=3D9>=20
<A=20
=
href=3D"http://www.vckbase.com/SYS/script/viewcomment.asp?gclsid=3D100&am=
p;itemid=3D1051"=20
target=3D_blank><SPAN =
class=3Dsmall>=B2=E9=BF=B4=CB=F9=D3=D0=C6=C0=C2=DB</SPAN></A> <IMG =
height=3D9 src=3D""=20
width=3D9> <A=20
=
href=3D"http://www.vckbase.com/SYS/script/writemail.asp?gclsid=3D100&=
itemid=3D1051&title=3D%d4%daVisual+C%2b%2b6.0%d6%d0%ca%b9%d3%c3Text-t=
o-Speech"=20
target=3D_blank><SPAN =
class=3Dsmall>=CD=C6=BC=F6=B8=F8=BA=C3=D3=D1</SPAN></A> <IMG height=3D9 =
src=3D""=20
width=3D9> <A href=3D"javascript:window.print();"><SPAN=20
class=3Dsmall>=B4=F2=D3=A1</SPAN></A></TD></TR></TBODY></TABLE>
<TABLE class=3Dsmall cellSpacing=3D1 cellPadding=3D0 width=3D"98%" =
bgColor=3D#ffffff=20
border=3D0>
<TBODY>
<TR>
<TD bgColor=3D#ffffff><BR><IMG height=3D11=20
src=3D"http://www.vckbase.com/document/image/doc2.gif" width=3D11=20
align=3DabsMiddle> =
=D6=D5=D3=DA=CC=F9=CD=EA=C1=CB=B4=FA=C2=EB<BR><BR>EMAIL:lin_xiao_shan@sin=
a.com<BR><BR>=BB=B6=D3=AD=BD=BB=C1=F7 (=20
linux0 =B7=A2=B1=ED=D3=DA 2004-3-17 11:04:00)<BR> <BR><IMG =
height=3D11=20
src=3D"http://www.vckbase.com/document/image/doc2.gif" width=3D11=20
align=3DabsMiddle>=20
=
// Create the SAPI voice<BR>if(SUCCEEDED(hr))<BR>&nbs=
p; hr =3D cpVoice.CoCreateInstance( CLSID=
_SpVoice ); <BR><BR><BR>//Enumerate the available&nbs=
p;voices <BR>if(SUCCEEDED(hr))<BR> hr =3D=
SpEnumTokens(SPCAT_VOICES, NULL, NULL, &cpEnum);=
<BR><BR>//Get the number of voices<BR>if(SUCCEEDED(hr=
))<BR> hr =3D cpEnum->GetCount(&u=
lCount);<BR><BR>// Obtain a list of available&nb=
sp;voice tokens, set the voice to the =
token, and call Speak<BR>while (SUCCEEDED(hr) &a=
mp;& ulCount -- )<BR>{<BR> cpVo=
iceToken.Release();<BR> if(SUCCEEDED(hr))<BR> =
; hr =3D cpEnum->Ne=
xt( 1, &cpVoiceToken, NULL );<BR><BR> =
if(SUCCEEDED(hr))<BR> &nbs=
p; hr =3D cpVoice->SetVoice(cpVoiceToken);<BR><BR> =
; if(SUCCEEDED(hr))<BR> &nb=
sp; hr =3D cpVoice->Speak( L"How are&nb=
sp;you?", SPF_DEFAULT, NULL); <BR>}=20
=
ISpVoice * pVoice =3D NULL;<BR>::CoUninitialize();&nb=
sp;=20
<BR>return TRUE;<BR>}<BR>( linux0 =B7=A2=B1=ED=D3=DA =
2004-3-17=20
11:02:00)<BR> <BR><IMG height=3D11=20
src=3D"http://www.vckbase.com/document/image/doc2.gif" width=3D11=20
align=3DabsMiddle>=20
=
=D2=BB=B8=F6=BC=F2=B5=A5=B5=C4=C0=FD=D7=D3=A3=A8=D4=B4=D7=D4Microsoft&nbs=
p;Speech SDK =B0=EF=D6=FA=A3=A9=A3=AC=BF=D8=D6=C6=CC=A8=B3=CC=D0=
=F2<BR>=A3=A8*****=A3=A9=D2=F2=CE=AA=D7=B0=BA=C3=D6=D0=CE=C4=D3=EF=D1=D4=B0=
=FC=BA=F3=A3=AC=C4=AC=C8=CF=B5=C4=CA=C7=D6=D0=CE=C4=A3=AC=CB=F9=D2=D4=D3=A2=
=CE=C4=B5=A5=B4=CA=BB=E1=C4=EE=B3=C9=D7=D6=C4=B8<BR><BR>=D5=E2=B8=F6=CF=D6=
=CF=F3=C8=C3=CE=D2=D3=F4=C3=C6=C1=CB=BA=DC=BE=C3=BA=DC=BE=C3=A3=A1=A3=BA=A3=
=A8<BR><BR>#include "stdafx.h"<BR>#include <sapi.h><BR>#i=
nclude <atlbase.h><BR>#include<sphelper.h><BR>//ole32.li=
b<BR>//sapi.lib<BR>int main(int argc, char* argv[])<B=
R>{<BR>::CoInitialize(NULL);<BR>HRESULT hr =3D S_OK;<BR>CC=
omPtr<ISpObjectToken> &nbs=
p; cpVoiceToken;<BR>CComPtr<IEnumSpObject=
Tokens> cpEnum;<BR>CCom=
Ptr<ISpVoice> =
cpVoice;<BR>U=
LONG &nb=
sp; &nbs=
p; ulCount =3D 0;<BR><=
BR>...=20
( linux0 =B7=A2=B1=ED=D3=DA 2004-3-17 11:02:00)<BR> <BR><IMG =
height=3D11=20
src=3D"http://www.vckbase.com/document/image/doc2.gif" width=3D11=20
align=3DabsMiddle> =
=CE=D2=CF=C2=D4=D8=D4=F5=C3=B4=D3=C3=B2=BB=C1=CB=C4=D8=A3=AC=D2=BB=D4=CB=D0=
=D0=BE=CD=B1=A8=B4=ED=C4=D8 ( xglcm =B7=A2=B1=ED=D3=DA 2004-3-15=20
22:27:00)<BR> <BR><IMG height=3D11=20
src=3D"http://www.vckbase.com/document/image/doc2.gif" width=3D11=20
align=3DabsMiddle>=20
=
=CE=D2=CF=C2=D4=D8=C1=CB=B5=AB=CA=C7=B2=BB=BA=C3=D3=C3=B0=A1=A3=AC=D2=D4=C7=
=B0=CE=D2=D2=B2=BF=B4=B9=FD=D2=BB=C6=AA=D5=E2=D1=F9=B5=C4=CE=C4=D5=C2=A3=AC=
=BA=C3=CF=F1=D4=DA=CF=B5=CD=B3=D6=D0=D2=AA=C9=E8=B6=A8=CF=E0=D3=A6=B5=C4=D1=
=A1=CF=EE=A3=AC=C1=ED=CD=E2=D4=DAVC=D6=D0=CA=C7=B7=F1=B2=BB=D3=C3=B5=BC=C8=
=EB=C0=E0=BF=E2=A3=AC=D6=B1=BD=D3=B0=B4=D5=D5=B1=EA=D7=BC=B5=C4=C7=EB=C7=F3=
=BD=D3=BF=DA=B5=C4=B7=BD=CA=BD=BE=CD=BF=C9=D2=D4=C1=CB=A3=AC=B4=FA=C2=EB=C8=
=E7=CF=C2=A3=BA=20
=
<BR>CoInitialize(NULL);<BR>ISpVoice* sp;<BR>HRESULT hr=3DCoCrea=
teInstance(CLSID_SpVoice, NULL, <BR>CLSCTX_ALL, IID_ISpVoi=
ce,(void**)&sp);<BR>if(FAILED(hr))<BR>{<BR> MessageBox("CoCreate=
Instance Failure");<BR> return;<BR>}<BR>sp->Speak(L"hello",0=
,NULL);<BR>sp->Release();<BR>sp=3DNULL;<BR>CoUninitialize();<BR>=B5=AB=
=CA=C7=D2=BB=D1=F9=B5=C4=B2=BB=B3=F6=C9=F9=A3=AC=D2=D1=BE=AD=D3=F4=C3=C6=C1=
=CB=D2=BB=B6=CE=CA=B1=BC=E4=C1=CB=20
( yingkou =B7=A2=B1=ED=D3=DA 2004-3-15=20
=
8:16:00)<BR> <BR>...................................................=
....<BR><A=20
=
href=3D"http://www.vckbase.com/SYS/script/viewcomment.asp?gclsid=3D100&am=
p;itemid=3D1051"=20
target=3D_blank><SPAN class=3Dsmall>More...</SPAN></A>=20
</TD></TR></TBODY></TABLE></DIV><BR>
<DIV align=3Dright><BR><SPAN class=3Dsmall>=B0=E6=C8=A8=CB=F9=D3=D0 =
© 2004 VC=D6=AA=CA=B6=BF=E2 =20
<BR><BR></SPAN></DIV></BODY></HTML>
------=_NextPart_000_0000_01C4BD20.5588AC40
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.vckbase.com/document/image/vckcom.gif
R0lGODlhbQANANX/AP///8DAwHtsQrS7tObr5uzw7Pf59/b49vX29YSXg57Rml93XbLXr5Swkm5/
bZ+vntLh0cnXyJnKlJXFkIu4h3WacUZdRD5SPIaxgoKrfkJXQH2jeW2OamOAYKPQn6nTpaHHnZq7
l6nFpo+jjb/WvbjLtpqlmam0qMDJv0xkSZK/jFVvUrbWsrLBsJ3Nltbc1ZvGkfH18Nzg2/n7+Ja4
g5GqeI+kcoePYYWIWoB6T31zSAAAAAAAAAAAAAAAAAAAACH5BAEAAAEALAAAAABtAA0AAAb/wICC
QfwohB8i4zhUHoVKoyKp9CidgWy2SXxurUUm9drVms/otHoyAwAgkoAk4o5NPjG3e8ZSSAhuERIu
bW4QInp6MxBGWWx6IE8udIkEfpSJbhNqnJ1oFCVuBSoBKgVuLSGFmR8UMm4lKoBuKBwNmXqCQqG5
cS4kegh6JCq8uBieyZ0qCXohCiF6HJgoDq9vGS+oEHoDCxu3biMOKKKkE9x6owHobgMXA24EGS1u
Mg74DgnIyv1nEhWuEeP1osMBdys6ODgxYsMGbQAO0lqAYUI4AA8SQERBAZobBLNEKFBRT1SEBCs4
0JN3ooVLEaTU0KDh4sxMMypuBphJYwuG/weiMswywUHPgwwUNnDggCEbLhkbXEi4WImDChe8BpwI
NEEFB2GJDISgUDKTjJhnVOQQIEBHjSw1dLB1mwUH255sBWjxqmfExwoV+qrwA2KCCwwQM5WQSjWR
jK6nACRwoOdqhoWz6mAom+gFhTRrb9xo6wIGW9FsYQSwK8AGjbxaXGygFBmFQ4koJigAVgAC4m6z
DMCYqseBBspuQETDBUCEhwglTixYUM5Ng5IRNFiwkKID2r1sa7oOYENAjixrbawWgANHebtaFFDw
m2gEBQzVD0AgYSDQw0ApNGOIChed0EB1AISASSbz5MIBfQBUUFIBLZRgIQmR2MTWGe/V1f/aeuXd
0J5eWkzwlR4EcNAVB9dkksB/AJxQQQctgtBYMBxINIAJJsTjxgYIJhIBB5wlIkJNZpgmAAww5HAD
DDWQ5oJcb9n1mg42wBdfBj4CMEAGfmSwQIsAIODABk4B0MJ9AgJAAISOOQCUGx3UuYAeKHSwoJcd
bFCkM3GQ96FdOax13pTmraVDTfDdpeVeHKTAnVVCSLDBdPissEIFKlDQQQqbTjBBBStMykGp26W6
KakWbKqCChuUuuoCK+CzQHcYqMBqqtutsEGg5annwmjsxaQCsTjEBN+yJMamQlO5IulHUoBtUNG0
GESrwARNIfVsBuCGS0FXTY2rwLQZ5DoQAbWAZXCVC9+GC+61/tQbBAA7
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -