DLL命令表
.版本 2.DLL命令 CoInitialize, 整數型, "ole32.dll", "CoInitialize" .參數 pvReserved, 整數型.DLL命令 CoUninitialize, , "Ole32.dll", "CoUninitialize", , 在當前線程,關閉COM庫,卸載所有加載的DLL的線程,釋放線程保持的任何其他資源,并強制關閉所有的線程上的RPC連接。
利用系統自帶的TTS語音系統調用來實現播放
此功能需要加載系統自帶TTS語音庫模塊,如果不能調用下載TTS語音修復工具試試
.版本 2.支持庫 iext.支持庫 iext2.支持庫 EThread.程序集 窗口程序集1.程序集變量 位置解析, 超級編輯框_回調函數使用.程序集變量 朗讀, 語音支持庫.程序集變量 是否已暫停, 邏輯型.程序集變量 程序目錄, 文本型.程序集變量 默認語音庫, 整數型.程序集變量 文本長度, 整數型.子程序 __啟動窗口_尺寸被改變選擇夾1.左邊 = 0選擇夾1.頂邊 = 工具條1.高度選擇夾1.寬度 = 取用戶區寬度 ()選擇夾1.高度 = 取用戶區高度 () - 選擇夾1.頂邊超級編輯框1.左邊 = 0超級編輯框1.頂邊 = 20超級編輯框1.寬度 = 選擇夾1.寬度超級編輯框1.高度 = 選擇夾1.高度 - 35.子程序 __啟動窗口_創建完畢.如果真 (朗讀.初始化 () = 假) 信息框 (“初始化失敗!請檢查您的系統里面是否安裝了TTS”, 0, ) 返回 ().如果真結束程序目錄 = 取運行目錄 ()滑塊條_音量.位置 = 到整數 (讀取_當前音量 ())透明標簽_音量.標題 = 到文本 (滑塊條_音量.位置)滑塊條_語速.位置 = 到整數 (讀取_當前語速 ())透明標簽_語速.標題 = 到文本 (滑塊條_語速.位置 - 10)朗讀.置_朗讀速度 (滑塊條_語速.位置 - 10)枚舉語音庫 ()默認語音庫 = 到整數 (讀取_語音庫 ())組合框_語音庫.現行選中項 = 默認語音庫ISpeechVoice_掛接事件 ().子程序 ISpeechVoice_掛接事件朗讀.掛接事件 (1, &ISpeechVoice_StartStream)朗讀.掛接事件 (2, &ISpeechVoice_EndStream)朗讀.掛接事件 (3, &ISpeechVoice_VoiceChange)朗讀.掛接事件 (4, &ISpeechVoice_Bookmark)朗讀.掛接事件 (5, &ISpeechVoice_Word)朗讀.掛接事件 (7, &ISpeechVoice_Sentence)朗讀.掛接事件 (6, &ISpeechVoice_Phoneme)朗讀.掛接事件 (8, &ISpeechVoice_Viseme)朗讀.掛接事件 (9, &ISpeechVoice_AudioLevel)朗讀.掛接事件 (10, &ISpeechVoice_EnginePrivate).子程序 ISpeechVoice_StartStream, , , 事件編號: 1.參數 用戶數據, 整數型.參數 StreamNumber, 整數型.參數 StreamPosition, 整數型.子程序 ISpeechVoice_EndStream, , , 事件編號: 2.參數 用戶數據, 整數型.參數 StreamNumber, 整數型.參數 StreamPosition, 整數型.子程序 ISpeechVoice_VoiceChange, , , 事件編號: 3.參數 用戶數據, 整數型.參數 StreamNumber, 整數型.參數 StreamPosition, 整數型.參數 VoiceObjectToken, 整數型, 參考.子程序 ISpeechVoice_Bookmark, , , 事件編號: 4.參數 用戶數據, 整數型.參數 StreamNumber, 整數型.參數 StreamPosition, 整數型.參數 Bookmark, 文本型.參數 BookmarkId, 整數型.子程序 ISpeechVoice_Word, , , 事件編號: 5.參數 用戶數據, 整數型.參數 StreamNumber, 整數型.參數 StreamPosition, 整數型.參數 CharacterPosition, 整數型.參數 Length, 整數型.子程序 ISpeechVoice_Sentence, , , 事件編號: 7.參數 用戶數據, 整數型.參數 StreamNumber, 整數型.參數 StreamPosition, 整數型.參數 CharacterPosition, 整數型.參數 Length, 整數型超級編輯框1.起始選擇位置 = CharacterPosition超級編輯框1.被選擇字符數 = Length狀態條1.置文本 (1, “當前位置 ” + 到文本 (CharacterPosition) + “ / 總長度” + 到文本 (文本長度)).子程序 ISpeechVoice_Phoneme, , , 事件編號: 6.參數 用戶數據, 整數型.參數 StreamNumber, 整數型.參數 StreamPosition, 整數型.參數 Duration, 整數型.參數 NextPhoneId, 短整數型.參數 Feature, 整數型.參數 CurrentPhoneId, 短整數型.子程序 ISpeechVoice_Viseme, , , 事件編號: 8.參數 用戶數據, 整數型.參數 StreamNumber, 整數型.參數 StreamPosition, 整數型.參數 Duration, 整數型.參數 NextVisemeId, 整數型.參數 Feature, 整數型.參數 CurrentVisemeId, 整數型.子程序 ISpeechVoice_AudioLevel, , , 事件編號: 9.參數 用戶數據, 整數型.參數 StreamNumber, 整數型.參數 StreamPosition, 整數型.參數 AudioLevel, 整數型.子程序 ISpeechVoice_EnginePrivate, , , 事件編號: 10.參數 用戶數據, 整數型.參數 StreamNumber, 整數型.參數 StreamPosition, 整數型.參數 EngineData, 整數型.子程序 _工具條1_被單擊.參數 按鈕索引, 整數型.判斷開始 (按鈕索引 = 0) 朗讀.置_語音庫 (默認語音庫) .如果 (是否已暫停 = 真) 朗讀.方法_繼續 () .否則 啟動線程 (&朗讀線程, , ) .如果結束 返回 ().默認.判斷結束.判斷開始 (按鈕索引 = 1) .如果 (是否已暫停 = 假) 朗讀.方法_暫停 () 是否已暫停 = 真 .否則 朗讀.方法_繼續 () .如果結束 返回 ().默認.判斷結束.判斷開始 (按鈕索引 = 2) 朗讀.方法_朗讀 (“”, #SVSFPurgeBeforeSpeak) 返回 ().默認.判斷結束.判斷開始 (按鈕索引 = 3) 通用對話框1.打開 () .如果真 (通用對話框1.文件名 = “”) 返回 () .如果真結束 啟動線程 (&輸出WAV線程, , ).默認.判斷結束.子程序 輸出WAV線程CoInitialize (0)狀態條1.置文本 (1, “正在轉換,請耐心等待........”)朗讀.置_語音庫 (默認語音庫)朗讀.置_朗讀速度 (滑塊條_語速.位置 - 10)朗讀.方法_輸出WAV (通用對話框1.文件名 + “.wav”, 超級編輯框1.內容)朗讀.方法_等待朗讀完畢 (100)狀態條1.置文本 (1, “轉換完成!”)CoUninitialize ().子程序 朗讀線程位置解析.重置 ()CoInitialize (0)朗讀.方法_朗讀 (超級編輯框1.內容, 1, )CoUninitialize ().子程序 回調函數.參數 參數_是否結束, 邏輯型.參數 參數_朗讀位置, 整數型.參數 參數_朗讀長度, 整數型.局部變量 換行符位置, 整數型.局部變量 編輯框內容, 文本型.如果 (參數_是否結束 = 假) 位置解析.解析正確的位置 (參數_朗讀位置, 參數_朗讀長度) 超級編輯框1.起始選擇位置 = 參數_朗讀位置 超級編輯框1.被選擇字符數 = 參數_朗讀長度.否則.如果結束.子程序 枚舉語音庫.局部變量 語音庫數量, 整數型.局部變量 臨時計次, 整數型組合框_語音庫.清空 ()語音庫數量 = 朗讀.取_語音庫數量 ().計次循環首 (語音庫數量, 臨時計次) 組合框_語音庫.加入項目 (朗讀.取_語音庫名稱 (臨時計次), ).計次循環尾 ().子程序 _滑塊條_音量_位置被改變透明標簽_音量.標題 = 到文本 (滑塊條_音量.位置).子程序 _滑塊條_語速_位置被改變透明標簽_語速.標題 = 到文本 (滑塊條_語速.位置 - 10).子程序 保存_當前音量.參數 音量, 文本型寫配置項 (程序目錄 + “/set.ini”, “音量”, “value”, 音量).子程序 保存_當前語速.參數 語速, 文本型寫配置項 (程序目錄 + “/set.ini”, “語速”, “value”, 語速).子程序 保存_語音庫.參數 參數_默認語音庫, 文本型寫配置項 (程序目錄 + “/set.ini”, “語音庫”, “value”, 參數_默認語音庫).子程序 讀取_當前音量, 文本型返回 (讀配置項 (程序目錄 + “/set.ini”, “音量”, “value”, “100”)).子程序 讀取_當前語速, 文本型返回 (讀配置項 (程序目錄 + “/set.ini”, “語速”, “value”, “10”)).子程序 讀取_語音庫, 文本型返回 (讀配置項 (程序目錄 + “/set.ini”, “語音庫”, “value”, “0”)).子程序 _組合框_語音庫_列表項被選擇保存_語音庫 (到文本 (組合框_語音庫.現行選中項))朗讀.置_語音庫 (組合框_語音庫.現行選中項)默認語音庫 = 組合框_語音庫.現行選中項.子程序 _滑塊條_語速_鼠標左鍵被放開, 邏輯型.參數 橫向位置, 整數型.參數 縱向位置, 整數型.參數 功能鍵狀態, 整數型透明標簽_語速.標題 = 到文本 (滑塊條_語速.位置)保存_當前語速 (透明標簽_語速.標題)朗讀.置_朗讀速度 (滑塊條_語速.位置 - 10).子程序 _滑塊條_音量_鼠標左鍵被放開, 邏輯型.參數 橫向位置, 整數型.參數 縱向位置, 整數型.參數 功能鍵狀態, 整數型透明標簽_音量.標題 = 到文本 (滑塊條_音量.位置)保存_當前音量 (透明標簽_音量.標題)朗讀.置_音量 (滑塊條_音量.位置).子程序 _超級編輯框1_內容被改變超級編輯框1.內容 = 子文本替換 (超級編輯框1.內容, #換行符, “ ”, , , 真)文本長度 = 取文本長度 (超級編輯框1.內容).子程序 _按鈕_刷新_被單擊枚舉語音庫 ()默認語音庫 = 到整數 (讀取_語音庫 ())組合框_語音庫.現行選中項 = 默認語音庫
運行結果:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。
新聞熱點
疑難解答