提交 17968f9b authored 作者: 陈泽健's avatar 陈泽健

补充麦克风控制开启、播放云喇叭音频以及查看讯飞转写结果的巡检流程。补充摄像头掉线后运维系统控制界面的巡检流程。

上级 4ca8e3a5
...@@ -917,6 +917,56 @@ def voice_device_register(app_id, app_secret, device_sn): ...@@ -917,6 +917,56 @@ def voice_device_register(app_id, app_secret, device_sn):
# 处理解析响应异常,记录错误日志 # 处理解析响应异常,记录错误日志
logging.error("解析响应失败: %s", e) logging.error("解析响应失败: %s", e)
import requests
def cloud_voice_setting(app_id, app_secret, device_sn):
"""
设置云语音功能。
:param app_id: 应用ID
:param app_secret: 应用密钥
:param device_sn: 设备序列号
:return: 服务器响应结果
"""
url = "https://wdev.wmj.com.cn/deviceApi/send"
# 写死的data参数
data = {
"cmd_type": "setting",
"info": {
"volume": 10, # 0-9,音量由小到大,默认为中间值
"speed": 2, # 0-9,语速由慢到快,默认为中间值正常语速
"tone": 4, # 0-9,语调由低到高,默认为中间值正常语调
"speaker": 0 # 0为女生,支持中英文
}
}
# 构建请求体
payload = {
"app_id": app_id,
"app_secret": app_secret,
"device_sn": device_sn,
"data": data
}
# 发送POST请求
try:
response = requests.post(url, json=payload)
response.raise_for_status() # 如果响应状态码不是200,抛出异常
logging.info(response.json()) # 打印响应的JSON数据
except requests.exceptions.RequestException as e:
logging.error({"status": "error", "message": str(e)})
# 示例调用
# if __name__ == "__main__":
# app_id = os.getenv("APP_ID", "a98a124c6c3252f6612fc544a0d0fa79")
# app_secret = os.getenv("APP_SECRET", "88bc1ec4eba624f47b2200a4ce8c3852")
# device_sn = os.getenv("DEVICE_SN", "W703BB44444")
# cloud_voice_setting(app_id, app_secret, device_sn)
def play_cloud_voice(app_id, app_secret, device_sn): def play_cloud_voice(app_id, app_secret, device_sn):
""" """
播放云语音功能。 播放云语音功能。
...@@ -927,6 +977,10 @@ def play_cloud_voice(app_id, app_secret, device_sn): ...@@ -927,6 +977,10 @@ def play_cloud_voice(app_id, app_secret, device_sn):
voice_device_register(app_id, app_secret, device_sn) voice_device_register(app_id, app_secret, device_sn)
sleep(5) # 可以考虑使用异步编程或非阻塞的方式替代 sleep(5) # 可以考虑使用异步编程或非阻塞的方式替代
# 设置云喇叭的音量以及语速参数
cloud_voice_setting(app_id, app_secret, device_sn)
sleep(10)
# 定义请求URL # 定义请求URL
url = os.getenv("CLOUD_VOICE_API_URL", "https://wdev.wmj.com.cn/deviceApi/send") url = os.getenv("CLOUD_VOICE_API_URL", "https://wdev.wmj.com.cn/deviceApi/send")
...@@ -938,7 +992,7 @@ def play_cloud_voice(app_id, app_secret, device_sn): ...@@ -938,7 +992,7 @@ def play_cloud_voice(app_id, app_secret, device_sn):
"data": { "data": {
"cmd_type": "play", "cmd_type": "play",
"info": { "info": {
"tts": "测试,这是一段音频播放", "tts": "这是测试",
"inner": 10, # wifi版特有 "inner": 10, # wifi版特有
"volume": 5 # 4G版本1-7,wifi版1-10 "volume": 5 # 4G版本1-7,wifi版1-10
} }
...@@ -968,8 +1022,8 @@ def play_cloud_voice(app_id, app_secret, device_sn): ...@@ -968,8 +1022,8 @@ def play_cloud_voice(app_id, app_secret, device_sn):
logging.error(f"发生未知异常: {e}") logging.error(f"发生未知异常: {e}")
# # 示例调用 # # 示例调用
# if __name__ == "__main__": if __name__ == "__main__":
# app_id = os.getenv("APP_ID", "a98a124c6c3252f6612fc544a0d0fa79") app_id = os.getenv("APP_ID", "a98a124c6c3252f6612fc544a0d0fa79")
# app_secret = os.getenv("APP_SECRET", "88bc1ec4eba624f47b2200a4ce8c3852") app_secret = os.getenv("APP_SECRET", "88bc1ec4eba624f47b2200a4ce8c3852")
# device_sn = os.getenv("DEVICE_SN", "W703BB44444") device_sn = os.getenv("DEVICE_SN", "W703BB44444")
# play_cloud_voice(app_id, app_secret, device_sn) play_cloud_voice(app_id, app_secret, device_sn)
\ No newline at end of file \ No newline at end of file
...@@ -188,3 +188,5 @@ ...@@ -188,3 +188,5 @@
- 封装云喇叭的注册与播放接口调用,后续对接至展厅巡检流程中。 - 封装云喇叭的注册与播放接口调用,后续对接至展厅巡检流程中。
46. 2025-01-23 46. 2025-01-23
- 增加麦克风与摄像头控制按钮控制,以及云喇叭调用播放音频流程.调整控制顺序. - 增加麦克风与摄像头控制按钮控制,以及云喇叭调用播放音频流程.调整控制顺序.
47. 2025-01-24
- 补充麦克风控制开启、播放云喇叭音频以及查看讯飞转写结果的巡检流程。补充摄像头掉线后运维系统控制界面的巡检流程。
\ No newline at end of file
...@@ -26,7 +26,7 @@ class XF_Meeting_0001: ...@@ -26,7 +26,7 @@ class XF_Meeting_0001:
sleep(3) sleep(3)
wd.switch_to.window(wd.window_handles[1]) wd.switch_to.window(wd.window_handles[1])
INFO("请检查讯飞系统是否正确单点登录") INFO("请检查讯飞系统是否正确单点登录,并查看讯飞语音转录是否成功!!!")
SELENIUM_LOG_SCREEN(wd, "75%", "Exhibit_Inspect", "XF_meeting", "讯飞纪要界面截屏") SELENIUM_LOG_SCREEN(wd, "75%", "Exhibit_Inspect", "XF_meeting", "讯飞纪要界面截屏")
# 结束这场会议 # 结束这场会议
......
...@@ -39,7 +39,7 @@ class Operation_maintenance_0001: ...@@ -39,7 +39,7 @@ class Operation_maintenance_0001:
sleep(4) sleep(4)
SELENIUM_LOG_SCREEN(wd, "75%", "Exhibit_Inspect", "Operation_maintenance", "音频系统") SELENIUM_LOG_SCREEN(wd, "75%", "Exhibit_Inspect", "Operation_maintenance", "音频系统")
INFO("请查看控制系统设备的连接状态") INFO("请查看控制系统设备的连接状态,查看左摄像头是否为掉线状态!!!")
safe_click((By.XPATH, "(//img)[13]"),wd) safe_click((By.XPATH, "(//img)[13]"),wd)
sleep(4) sleep(4)
SELENIUM_LOG_SCREEN(wd, "75%", "Exhibit_Inspect", "Operation_maintenance", "控制系统") SELENIUM_LOG_SCREEN(wd, "75%", "Exhibit_Inspect", "Operation_maintenance", "控制系统")
......
...@@ -4,4 +4,4 @@ tunnels: ...@@ -4,4 +4,4 @@ tunnels:
nat1: nat1:
remote_port: 31133 remote_port: 31133
proto: proto:
tcp: "192.168.1.114:80" tcp: "192.168.1.213:80"
\ No newline at end of file \ No newline at end of file
...@@ -11,8 +11,7 @@ import logging ...@@ -11,8 +11,7 @@ import logging
- cd .\预定系统\ - cd .\预定系统\
- python -m http.server 80 --directory reports - python -m http.server 80 --directory reports
2.打开新终端输入: 2.打开新终端输入:
- cd .\预定系统\ - cd .\预定系统\ngrok\ngrok-调试主机\
- cd .\ngrok\ngrok-调试主机\
- .\start.bat - .\start.bat
3.再打开一个终端输入: 3.再打开一个终端输入:
- cd .\预定系统\ - cd .\预定系统\
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论