Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Alexa skill和SocketIO团结一致_Python_Unity3d_Socket.io_Alexa_Alexa Skills Kit - Fatal编程技术网

Python Alexa skill和SocketIO团结一致

Python Alexa skill和SocketIO团结一致,python,unity3d,socket.io,alexa,alexa-skills-kit,Python,Unity3d,Socket.io,Alexa,Alexa Skills Kit,我已经创建了一个自定义Alexa技能,它将根据用户输入在unity中播放动画 我的Alexa skill使用ngrok服务进行隧道连接,ngrok服务为我提供https链接,https链接用于连接skill和unity 现在我想配置我的技能,比如,在unity中完成动画之后,我想调用python中的方法,如果用户什么都不说,它将触发一些意图 我能够在python文件中调用用户定义的方法,并能够在控制台上打印文本,但speech_文本或Repompt_文本不能在同一方法中工作 甚至我也没有得到任何

我已经创建了一个自定义Alexa技能,它将根据用户输入在unity中播放动画

我的Alexa skill使用ngrok服务进行隧道连接,ngrok服务为我提供https链接,https链接用于连接skill和unity

现在我想配置我的技能,比如,在unity中完成动画之后,我想调用python中的方法,如果用户什么都不说,它将触发一些意图

我能够在python文件中调用用户定义的方法,并能够在控制台上打印文本,但speech_文本或Repompt_文本不能在同一方法中工作

甚至我也没有得到任何python代码,这些代码将调用python文件中的特定意图,而不是基于用户输入,而是基于动画条件

那么如何从python代码中调用Intent呢

例如:

举一个人类走路、说话、跳跃、跑步的动画例子。 假设我打开了我的技能,说要播放行走动画…行走动画是6秒…动画完成后…如果用户没有说任何话,那么Alexa应该需要调用另一个意图,这将调用另一个动画…动画是,人类说我有另一个动画,也喜欢说话等等


我不想从python中的reprompt_文本中获得这种复制功能,因为我在后台使用1分钟的空白音频文件播放echo-dot会话。

如果没有用户交互,就无法触发Alexa的意图。一个会话将只打开8秒,然后重新启动,8秒后会话将结束。很遗憾,我们无法修改此会话超时。因此,如果用户没有响应,在播放响应后,它将结束,您的服务将收到一个
sessionedrequest
。因此,在您的情况下,您可以使用此
sessionedrequest
一次,但不建议这样做。您可以始终包含一些后端逻辑,以检查是否收到意图请求,如果没有,则播放下一个动画。但是,您永远不会知道用户是否在听

另一种选择是在播放动画后询问用户自己

例:

(播放动画6秒)

[休息6秒]我要播放下一个视频吗?

(还可以包括重新提示)

通过这种方式,您可以让用户参与进来,如果用户没有响应,您可以优雅地退出


更多关于
sessionedrequest

如果没有用户交互,您无法从Alexa触发意图。一个会话将只打开8秒,然后重新启动,8秒后会话将结束。很遗憾,我们无法修改此会话超时。因此,如果用户没有响应,在播放响应后,它将结束,您的服务将收到一个
sessionedrequest
。因此,在您的情况下,您可以使用此
sessionedrequest
一次,但不建议这样做。您可以始终包含一些后端逻辑,以检查是否收到意图请求,如果没有,则播放下一个动画。但是,您永远不会知道用户是否在听

另一种选择是在播放动画后询问用户自己

例:

(播放动画6秒)

[休息6秒]我要播放下一个视频吗?

(还可以包括重新提示)

通过这种方式,您可以让用户参与进来,如果用户没有响应,您可以优雅地退出

更多关于
sessionedrequest