为了账号安全,请及时绑定邮箱和手机立即绑定

在后台运行计时器 x 秒 [Alexa 技能]

在后台运行计时器 x 秒 [Alexa 技能]

慕姐8265434 2021-10-10 18:59:28
我正在制作一个返回音频但仅返回 x 秒的函数。如果用户说为我播放一首歌 x 秒我正在播放这首歌,但需要在 X 秒后取消。因此,我的计划是在运行音频之前启动计时器 x 秒。然后,一旦计时器到了,就将通知设置为另一个功能,该功能将返回一个新的声音,说您的时间到了。虽然我需要一种方法来启动后台计时器,但我已经搞定了逻辑。def start_audio():    card_title = "Start Audio"    session_attributes = {}    sound_url = 'https://s3.amazonaws.com/........mp3'    speech_output = "<speak><audio src='{}'/> </speak>".format(sound_url)    should_end_session = False    return build_response(session_attributes, myCustomSSML(        card_title, speech_output, None, should_end_session))def myLaunchIntent():    """ If we wanted to initialize the session to have some attributes we could    add those here    """    session_attributes = {}    card_title = "Welcome"    speech_output = "Welcome to your custom Alexa application!"    return start_audio()目前:-> 启动时-> 返回开始音频-> 我需要在 X 秒内通过-> X 秒将启动计时器-> 一旦该计时器完成调用另一个停止的函数如果有人可以引导我朝着正确的方向前进,例如向我展示如何以 x 秒运行后台计时器然后调用另一个函数,那么我将能够接管并将其扩展得更高。
查看完整描述

2 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

由于 Alexa 作为请求/响应应用程序工作,因此一旦您发送响应,就无法再控制播放,直到用户执行某些操作并且新请求到达您的处理程序为止。

我可以想象两种可能的方式来实现所需的功能。要么即时生成一个简短的音频剪辑(使用 FFmpeg 之类的东西),要么为所有可能的持续时间(1 秒、2 秒、3 秒...)预先生成它们并提供适当的剪辑。


查看完整回答
反对 回复 2021-10-10
  • 2 回答
  • 0 关注
  • 201 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信