播音

免費文字轉語音的軟體Balabolka

WinLibrary WINMM.DLL

\ DWORD_fdwSound ( 參考 MMSystem.h )

0x0000 CONSTANT SND_SYNC  

0x0001 CONSTANT SND_ASYNC

0x0002 CONSTANT SND_NODEFAULT  

0x0004 CONSTANT SND_MEMORY  

0x0008 CONSTANT SND_LOOP  

0x0010 CONSTANT SND_NOSTOP  

0x00002000 CONSTANT SND_NOWAIT

0x00010000 CONSTANT SND_ALIAS  

0x00110000 CONSTANT SND_ALIAS_ID  

0x00020000 CONSTANT SND_FILENAME  

0x00040004 CONSTANT SND_RESOURCE  

0x0040 CONSTANT SND_PURGE \ WINVER  = 0x0400

0x0080 CONSTANT SND_APPLICATION \ WINVER  = 0x0400

0 CONSTANT SND_ALIAS_START  

(

SND_APPLICATION 用應用程式指定的關聯來播放聲音。 

SND_ALIAS pszSound參數指定了註冊表或WIN.INI中的系統事件的別名。 

SND_ALIAS_ID pszSound參數指定了預定義的聲音識別字。 

SND_ASYNC 用非同步方式播放聲音,PlaySound函數在開始播放後立即返回。 

SND_FILENAME pszSound參數指定了WAVE檔案名。 

SND_LOOP 重復播放聲音,必須與SND_ASYNC標誌一塊使用。 

SND_MEMORY 播放載入到記憶體中的聲音,此時pszSound是指向聲音資料的指標。 

SND_NODEFAULT 不播放缺省聲音,若無此標誌,則PlaySound在沒找到聲音時會播放缺省聲音。 

SND_NOSTOP PlaySound不打斷原來的聲音播出並立即返回FALSE。 

SND_NOWAIT 如果驅動程式正忙則函數就不播放聲音並立即返回。 

SND_PURGE 停止所有與調用任務有關的聲音。若參數pszSound?NULL,就停止所有的聲音,否則,停止pszSound指定的聲音。 

SND_RESOURCE pszSound參數是WAVE資源的識別字,這時要用到hmod參數。 

SND_SYNC 同步播放聲音,在播放完後PlaySound函數才返回。 

)

: PlaySound ( DWORD_fdwSound HMODULE_hmod LPCSTR_pszSound --- 1|0 )

call PlaySound

;

: sndPlaySound ( DWORD_fdwSound LPCSTR_pszSound --- 1|0 )

call sndPlaySound

;


 : Wav_Play ( .wavfile count -- )

      SND_SYNC

NULL

( s" ㄅ.wav" ) ( rel>abs ) drop \ 欲撥放的聲音檔名,v4.2 要加上 rel>abs v61110 則不需

PlaySound drop

;   

    

    

    

: ㄅ ( --- )

SND_SYNC

NULL

s" ㄅ.wav" ( rel>abs ) drop \ 欲撥放的聲音檔名,v4.2 要加上 rel>abs v61110 則不需

PlaySound drop

;

\ $Id: EX_SAPI.F,v 1.2 2005/09/18 11:10:30 dbu_de Exp $ \ Example of Speech API \ Thomas Dixon needs FCOM.F \ SAPI 5.0 typelibrary 5 0 typelib {C866CA3A-32F7-11D2-9602-00C04F8EE628} ISpVoice ComIFace voice \ Create voice instance voice ISpVoice 1 0 SpVoice CoCreateInstance drop 0 0 u" Hello World!" drop voice speak . \ Say it slower -9 voice setrate . 0 0 u" I'm talking slower now." drop voice speak . \ Say it faster 5 voice setrate . 0 0 u" I'm talking fast now." drop voice speak . \ Say it higher 0 voice setrate . \ Example of how to build it as an exe! : main ( -- ) voice ISpVoice 1 0 SpVoice CoCreateInstance if true s" Unable to Create SPVoice!" ?messagebox bye then 0 0 u" Hello World!" drop voice speak if true s" Unable to Speak!" ?messagebox bye then 0 bye ; \ ' main turnkey speak.exe