1
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
"net"
|
||||
"strings"
|
||||
"time"
|
||||
"unicode/utf8"
|
||||
)
|
||||
|
||||
//入口
|
||||
@@ -253,13 +254,11 @@ func (t *TcpClient) doPrint(key string) (err error) {
|
||||
//判断音频暂停?
|
||||
//收到打印成功回调后,如果消息中有音频,需要等待一下,等上一个音频播完
|
||||
//暂停时间就暂时取的sound标签内内容长度/2
|
||||
//if sounds := regexpSoundSpan.FindStringSubmatch(printMsg.Content); len(sounds) > 0 {
|
||||
// globals.SugarLogger.Debug("sound =====================", sounds)
|
||||
// sound := sounds[1]
|
||||
// globals.SugarLogger.Debug("sound =====================", sound)
|
||||
// lenTime := time.Duration(utf8.RuneCountInString(sound)) * time.Second
|
||||
// time.Sleep(lenTime / 2)
|
||||
//}
|
||||
if sounds := regexpSoundSpan.FindStringSubmatch(printMsg.Content); len(sounds) > 0 {
|
||||
sound := sounds[1]
|
||||
lenTime := time.Duration(utf8.RuneCountInString(sound)) * time.Second
|
||||
time.Sleep(lenTime / 2)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -479,33 +479,33 @@ func replaceContent(content string, printMsg *model.PrintMsg) (result string) {
|
||||
result = strings.ReplaceAll(result, byteSignQrRightE, hexSignQrEnd)
|
||||
}
|
||||
// 固定模板输出语音 3c736f756e643e<sound> 3634 </sound>3c2f736f756e643e
|
||||
//if strings.Contains(result, byteSignSound) && strings.Contains(result, byteSignSoundE) {
|
||||
// soundStr := ""
|
||||
// for _, v1 := range strings.Split(result, byteSignSoundE) {
|
||||
// v1 += byteSignSoundE
|
||||
// if sounds := regexpSound.FindStringSubmatch(v1); len(sounds) > 0 {
|
||||
// sound := sounds[1]
|
||||
// //先把结束标签消了
|
||||
// resultV1 := strings.ReplaceAll(v1, byteSignSoundE, "")
|
||||
// // 将语音包转换为十六进制
|
||||
// voice := ""
|
||||
// for _, v := range strings.Split(sound, "2c") {
|
||||
// voice += hexSignSoundSolidification
|
||||
// soundNum, _ := hex.DecodeString(v) // 十六进制转字符串
|
||||
// intSound, _ := strconv.ParseInt(string(soundNum), 10, 64)
|
||||
// int16Sound := strconv.FormatInt(intSound, 16)
|
||||
// if intSound < PrintSoundMaxNumber { // 小于十六补位
|
||||
// voice += PlaceFillingParam + int16Sound
|
||||
// } else {
|
||||
// voice += int16Sound
|
||||
// }
|
||||
// }
|
||||
// soundParam := strings.ReplaceAll(resultV1, sound, "")
|
||||
// soundStr += strings.ReplaceAll(soundParam, byteSignSound, voice)
|
||||
// }
|
||||
// }
|
||||
// result = soundStr
|
||||
//}
|
||||
if strings.Contains(result, byteSignSound) && strings.Contains(result, byteSignSoundE) {
|
||||
soundStr := ""
|
||||
for _, v1 := range strings.Split(result, byteSignSoundE) {
|
||||
v1 += byteSignSoundE
|
||||
if sounds := regexpSound.FindStringSubmatch(v1); len(sounds) > 0 {
|
||||
sound := sounds[1]
|
||||
//先把结束标签消了
|
||||
resultV1 := strings.ReplaceAll(v1, byteSignSoundE, "")
|
||||
// 将语音包转换为十六进制
|
||||
voice := ""
|
||||
for _, v := range strings.Split(sound, "2c") {
|
||||
voice += hexSignSoundSolidification
|
||||
soundNum, _ := hex.DecodeString(v) // 十六进制转字符串
|
||||
intSound, _ := strconv.ParseInt(string(soundNum), 10, 64)
|
||||
int16Sound := strconv.FormatInt(intSound, 16)
|
||||
if intSound < PrintSoundMaxNumber { // 小于十六补位
|
||||
voice += PlaceFillingParam + int16Sound
|
||||
} else {
|
||||
voice += int16Sound
|
||||
}
|
||||
}
|
||||
soundParam := strings.ReplaceAll(resultV1, sound, "")
|
||||
soundStr += strings.ReplaceAll(soundParam, byteSignSound, voice)
|
||||
}
|
||||
}
|
||||
result = soundStr
|
||||
}
|
||||
// 自动合成语音功能
|
||||
//if strings.Contains(result, byteSignSound) && strings.Contains(result, byteSignSoundE) {
|
||||
// if sounds := regexpSound.FindStringSubmatch(result); len(sounds) > 0 {
|
||||
|
||||
Reference in New Issue
Block a user