我正在制作一个返回音频但仅返回 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 秒...)预先生成它们并提供适当的剪辑。
添加回答
举报
0/150
提交
取消