我正在使用python开发个人语音助手应用程序,我想为其添加一个Web界面,以允许从任何设备远程使用它。我已经有了它的Python方面,我希望将它与Web界面混合使用。也许通过在线程中侦听套接字。我对Python很有经验,但对JS没有那么多。
我理想情况下需要一个正在运行的python进程。然后HTML JS客户端记录用户的语音,将其转换为文本并将其发送到python服务器。 Python服务器接收命令并运行一个函数,并返回一个json数据,如:
{
'reply':'All done, here is your result',
'data':someBigHTMLoutput,
'audio':path to generated mp3 audio file of speech using customized voice
}
例如,Html可以是一个包含已发现的书籍或电影的大表,或者其他一些报告。或者,如果命令要关灯,它可以是空白的。
然后JS需要接收这些数据,替换内容' div与html数据,显示AI答案文本和播放服务器生成的音频文件。等待下一个命令。
所以,从这一切我想知道如何在没有页面刷新的情况下接近js客户端和python服务器数据交换?
仅仅使用python监听套接字是否足够?但是,我如何将数据返回给JS?
另外一个问题是:是否可以在函数执行之前和期间推送一些数据?目前,我的Python语音助手有时会说“#39;功能执行之前,期间和之后的事情。有没有办法将此声音发送到html页面?如果不是,我会重新认为人工智能的逻辑答案只能在工作完成后才回复。
我花了很多时间在谷歌搜索这个,但我只是对一个庞大的框架选择感到困惑,而我甚至不确定我是否需要这些相对简单的任务。
谢谢! Python 3.4
答案 0 :(得分:0)
我最终使用了Flask,Flask-SocketIO和带有socketio的JavaScript。
像魅力一样工作。谢谢。它允许我随时发出事件,这使得构建基于HTML + JS的前端UI非常容易,与python服务器实时交互。