Lee

感谢各路大神指导,自己买了一个TTL语音模块做了一个语音播报的小功能,分享给大家。

LeeLv.3修习 发布于 最后回复 问答
23 回复2496 浏览
语音模块用的是科星的文本转语音,使用最简单的 TCP 协议,编码格式为 GB2312 思路是利用工作流取参数,因为我这边涉及子表,所以加了个子流程取关联表的参数,我不会代码,这是用文心一言写的语句,我这边测试没问题,语法如果不对,我也解释不了 😄 860fd6f94ea1f1c76fa3c17e751ec518.mp4 [图片] 最后用 python 发送播报内容 [图片] python 代码如下: import socket data = input["data" ] data3 = input["data3" ] # 注意这里使用了圆括号而不是方括号 def send_message_to_server(hostname, port, message): try: 创建一个 socket 对象 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: 连接到服务器 s.connect((hostname, port)) 将消息编码为 GB2312(如果原始消息是 Unicode 字符串) encoded_message = message.encode('gb2312') 发送数据 s.sendall(encoded_message) print(f"Message '{message}' (encoded as GB2312) sent successfully.") # 接收响应(可选),并假设服务器也使用GB2312编码发送响应 data = s.recv(1024) decoded_data = data.decode('gb2312') # 解码响应为GB2312 print(f"Received: {decoded_data}") except Exception as e: print(f"An error occurred: {e}") def api(hostname, port, message): 调用 send_message_to_server 函数 send_message_to_server(hostname, port, message) 由于 send_message_to_server 没有返回值(除了可能的异常),API 函数也返回 None return None 示例用法 hostname = ' ' # 替换为你的域名 port = 50000 # 替换为你的端口号 message = "#" +data+"运输车辆为"+data3+",请尽快发货。" # 使用中文字符串作为示例 调用 API 函数发送消息 output = api(hostname, port, message)