diff --git a/app/controller/add_websocket_voice_recognise_route.py b/app/controller/add_websocket_voice_recognise_route.py new file mode 100644 index 0000000..6a2ab17 --- /dev/null +++ b/app/controller/add_websocket_voice_recognise_route.py @@ -0,0 +1,26 @@ +import json + +from fastapi import FastAPI, WebSocket, Query +from starlette.websockets import WebSocketState + + +def add_websocket_voice_recognise_route(app: FastAPI): + @app.websocket("/ws_voice_recognise") + async def ws_voice_recognise(websocket: WebSocket, user_id: str = Query(..., description="用户ID")): + print("新用户连接", user_id) + # 接收连接 + await websocket.accept() + try: + while True: + # 将接收得到消息发送供其他用户 + pcm_data_string = await websocket.receive_text() + pcm_data = json.loads(pcm_data_string) + print("pcm_data", pcm_data) + # await person_socket.send_text(data) + except Exception as e: + print(f"WebSocket error: {e}") + finally: + if websocket.application_state == WebSocketState.CONNECTING: + print("关闭websocket") + await websocket.close() + print("websocket已经关闭", user_id) diff --git a/app/main_app.py b/app/main_app.py index 7c81e10..d61f723 100644 --- a/app/main_app.py +++ b/app/main_app.py @@ -19,6 +19,7 @@ from app.controller.add_reimburse_route import add_reimburse_route from app.controller.add_sqlmodel_route import add_sqlmodel_route from app.controller.add_user_route import add_user_route from app.controller.add_websocket_route import add_websocket_route +from app.controller.add_websocket_voice_recognise_route import add_websocket_voice_recognise_route from app.controller.custom_chat_playground import add_custom_chat_playground_route from app.controller.custom_stream_api import add_custom_stream_api_route from app.controller.test_connection import add_test_connection_route @@ -80,6 +81,7 @@ add_api_route(app) add_redis_route(app) add_general_route(app) add_websocket_route(app) +add_websocket_voice_recognise_route(app) @app.get("/get_env")