diff --git a/business/jxstore/event/event_tcp.go b/business/jxstore/event/event_tcp.go index 88dd48103..a37232617 100644 --- a/business/jxstore/event/event_tcp.go +++ b/business/jxstore/event/event_tcp.go @@ -11,6 +11,7 @@ import ( "net" "strings" "time" + "unicode/utf8" ) //入口 @@ -245,6 +246,13 @@ func (t *TcpClient) doPrint(key string) (err error) { dataStr := <-t.CallBackMap[printMsg.PrintNo] a, b := getCallbackMsgInfo(dataStr) t.changePrintMsg(dataStr, a, b) + //判断音频暂停? + //收到打印成功回调后,如果消息中有音频,需要等待一下 + if sounds := regexpSoundSpan.FindStringSubmatch(printMsg.Content); len(sounds) > 0 { + sound := sounds[1] + lenTime := time.Duration(utf8.RuneCountInString(sound)) * time.Second + time.Sleep(lenTime) + } } } } diff --git a/business/jxstore/event/event_tcp_utils.go b/business/jxstore/event/event_tcp_utils.go index 4865255ba..231965a16 100644 --- a/business/jxstore/event/event_tcp_utils.go +++ b/business/jxstore/event/event_tcp_utils.go @@ -41,17 +41,17 @@ const ( //标签 const ( - signBR = "
" //换行 - signCenter = "
" //居中 - signLeft = "" //居左 - signRight = "" //居右 - signBig = "" //字体放大 - signHighBig = "" //字体纵向放大 - signWideBig = "" //字体横向放大 - signQrCenter = "" //二维码居中 - signQrLeft = "" //二维码居左 - signQrRight = "" //二维码居右 - signSound = "" //声音 + signBR = "
" //换行 + signCenter = "
" //居中 + signLeft = "" //居左 + signRight = "" //居右 + signBig = "" //字体放大 + signHighBig = "" //字体纵向放大 + signWideBig = "" //字体横向放大 + signQrCenter = "" //二维码居中 + signQrLeft = "" //二维码居左 + signQrRight = "" //二维码居右 + signSound, signSoundEnd = "", "" hexSignBROrEXE = "0a" hexSignCenter = "1b6101" @@ -103,10 +103,11 @@ var ( byteSignBR: hexSignBROrEXE, } - regexpQrc = regexp.MustCompile(byteSignQrCenter + "(.*?)" + byteSignQrCenterE) - regexpQrl = regexp.MustCompile(byteSignQrLeft + "(.*?)" + byteSignQrLeftE) - regexpQrr = regexp.MustCompile(byteSignQrRight + "(.*?)" + byteSignQrRightE) - regexpSound = regexp.MustCompile(byteSignSound + "(.*?)" + byteSignSoundE) + regexpQrc = regexp.MustCompile(byteSignQrCenter + "(.*?)" + byteSignQrCenterE) + regexpQrl = regexp.MustCompile(byteSignQrLeft + "(.*?)" + byteSignQrLeftE) + regexpQrr = regexp.MustCompile(byteSignQrRight + "(.*?)" + byteSignQrRightE) + regexpSound = regexp.MustCompile(byteSignSound + "(.*?)" + byteSignSoundE) + regexpSoundSpan = regexp.MustCompile(signSound + "(.*?)" + signSoundEnd) ) type PrintInfo struct {