从Alexa Skill中的URL流式传输时更改AudioItem元数据

问题描述

我实现了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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...