2016-09-28 39 views
0

我正在使用python开发个人语音助手应用程序,并且我想向它添加一个web界面,以允许从任何设备远程使用它。我已经有了Python的一面,我想将它与Web界面混合使用。也许通过在线程中侦听套接字。我对Python很有经验,但对JS没有那么多。如何在运行python进程和javascript之间传递数据

我理想的需要是运行一个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需要接收这些数据,用html数据替换'content'div,显示AI应答文本并播放由服务器生成的tts音频文件。并等待下一个命令。

因此,从这一切我想知道如何处理js客户端和python服务器数据交换没有页面刷新?

仅仅用python来监听套接字就足够了吗?但是,我如何将数据返回给JS?

另外一个问题是:在函数执行前和执行期间是否可以推送一些数据?目前,我的Python语音助理有时可能会在功能执行之前,之中和之后“说”事情。有什么方法可以将这个声音发送到html页面吗?如果没有,我会重新思考AI答案的逻辑,以便在“工作完成”后才回复。

我花了很多时间在Google上搜索,但我只是对框架的选择感到困惑,而我甚至不确定在这个相对简单的任务中是否需要它们中的任何一个。

谢谢! Python 3.4

+1

如果你想要一个简单的框架,看瓶或烧瓶。但是,是的,你需要一个框架,即使它只是一个“微框架”。在插座级别工作只会给你带来痛苦。 – BrenBarn

回答

0

我最终使用Flask,Flask-SocketIO和JavaScript与socketio。

工程就像一个魅力。谢谢。它允许我随时发布事件,这使得构建基于HTML + JS的前端UI和Python服务器实时交互非常容易。

相关问题