语音模块用的是科星的文本转语音,使用最简单的 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)