问题描述
我实现了Alexa技能,该技能可以从URL流式传输广播。我为此使用了Python SDK。
问题是,我可以在音频开始流传输之前在开始时添加元数据,但是我不知道在音频流传输时如何更改元数据。
因此,一个例子:
我有一个URL,它是XML,其中包含音频程序的当前名称和背景图片。
我开始流式传输音频,并且可以设置标题和背景图像。几分钟后,程序改变了,我不需要做任何事情,因为音频是从整个实况程序的URL流传输而来的,但是标题和背景不会改变,因为我之前已经设置了它们。 / p>
我以为这是不可能的,但是后来我看到了Radio TuneIn或Radio Deejay,当新的情节出现在同一直播流中时,它们会更改背景和标题。
那我该怎么办?
audio_player.set_url(data.PROGRAM["link"])
return util.play(url=data.PROGRAM["link"],offset=0,text=_(data.LIVE_EMISSION),card_data=data.CARD,response_builder=handler_input.response_builder)
然后
if card_data:
response_builder.set_card(
StandardCard(
title=card_data["title"],text=card_data["text"],image=Image(
small_image_url=card_data["small_image_url"],large_image_url=card_data["large_image_url"])
)
)
# Using URL as token as they are all unique
response_builder.add_directive(
PlayDirective(
play_behavior=PlayBehavior.REPLACE_ALL,audio_item=AudioItem(
stream=Stream(
token=url,url=url,offset_in_milliseconds=offset,expected_prevIoUs_token=None),Metadata=add_screen_background(card_data) if card_data else None
)
)
).set_should_end_session(True)
if text:
response_builder.speak(text)
return response_builder.response
当AudioItem从URL流传输时,我想更改元数据。也许与dynamoDB之类的东西?我可以使用当前的标题和背景在daynamoDB中更新一行,但是在流式传输时如何从中读取该技能?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)