1月232018
百度在线TTS文本转语音 Autoit V3的调用 UDF
百度在线TTS文本转语音
Autoit V3的调用 UDF
UDF更新 20180402
;示例 ;示例 _Baidu_TTS("简易工作室欢迎您的到来") _Baidu_TTS("微信收款到账 1279.16 元")
_Baidu_TTS('我是简易工作室绿色风')
;百度TTS语音播放
Func _Baidu_TTS($TEXT, $SPD = 6)
;~ by:绿色风 qq:79664738
;~ 更新地址:http://www.jianyiit.com/post-285.html
;~ lan 语言 zh,中文 en,英文
;~ Local $url = "http://tts.baidu.com/text2audio?lan=zh&pid=101&ie=UTF-8&text=播放的内容&spd=播放的速度(1-10)"
;;http://tts.baidu.com/text2audio 此地址 玩残了
; http://fanyi.baidu.com/gettts 新地址 新地址
Local $url = "http://fanyi.baidu.com/gettts?lan=zh&ie=UTF-8&pid=101&text=" & _UnicodeURLEncode($TEXT) & "&spd=" & $SPD&"&source=web"
Local $mp3 = @ScriptDir & "\bobao.mp3"
ConsoleWrite($url)
Local $conf = InetGet($url, $mp3, 3) ;强制下载文件
SoundPlay($mp3, 1) ;播放下载的mp3
InetClose($conf) ;释放下载空间
EndFunc ;==>_Baidu_TTS
;URL转码
Func _UnicodeURLEncode($UnicodeURL)
$UnicodeBinary = StringToBinary($UnicodeURL, 4)
$UnicodeBinary2 = StringReplace($UnicodeBinary, '0x', '', 1)
$UnicodeBinaryLength = StringLen($UnicodeBinary2)
Local $EncodedString
For $i = 1 To $UnicodeBinaryLength Step 2
$UnicodeBinaryChar = StringMid($UnicodeBinary2, $i, 2)
If StringInStr("$-.+!*'(),;/?:@=&abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", BinaryToString ('0x' & $UnicodeBinaryChar, 4)) Then
$EncodedString &= BinaryToString('0x' & $UnicodeBinaryChar)
Else
$EncodedString &= '%' & $UnicodeBinaryChar
EndIf
Next
Return $EncodedString
EndFunc ;==>UnicodeURLEncode
扫描二维码,在手机上阅读
发表评论
木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!