中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

易語言調用TTS語音模塊實現文字轉換語音功能的代碼

發布時間:2020-08-27 14:21:21 來源:腳本之家 閱讀:615 作者:易語言源碼教程 欄目:編程語言

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.內容)
.子程序 _按鈕_刷新_被單擊
枚舉語音庫 ()
默認語音庫 = 到整數 (讀取_語音庫 ())
組合框_語音庫.現行選中項 = 默認語音庫

運行結果:

易語言調用TTS語音模塊實現文字轉換語音功能的代碼

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

怀集县| 潮安县| 新疆| 辰溪县| 宾川县| 威信县| 信阳市| 淄博市| 武定县| 增城市| 社会| 龙海市| 镇原县| 凤台县| 北碚区| 镇巴县| 甘孜| 鄂伦春自治旗| 白朗县| 正镶白旗| 宜丰县| 虞城县| 洛阳市| 北票市| 镇江市| 临泉县| 集安市| 桃园县| 鲜城| 霞浦县| 邮箱| 泸西县| 江阴市| 双江| 琼海市| 中方县| 裕民县| 岑溪市| 兖州市| 苗栗市| 甘南县|