

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将对话流式传输到 Amazon Lex V2 机器人
<a name="streaming"></a>

您可以通过 Amazon Lex V2 流式传输 API 在 Amazon Lex V2 机器人与您的应用程序之间启动双向流。启动流后，机器人可以管理机器人与用户之间的对话。机器人会响应用户输入，而无需您编写代码来处理用户的响应。该机器人可以：
+ 处理在播放提示时来自用户的中断。有关更多信息，请参阅 [允许用户打断 Amazon Lex V2 机器人](interrupt-bot.md)。
+ 等待用户提供输入。例如，机器人可以等待用户收集信用卡信息。有关更多信息，请参阅 [允许 Amazon Lex V2 机器人在暂停期间等待用户提供更多信息](wait-and-continue.md)。
+ 将双音多频（DTMF）和音频输入放在同一个流中。
+ 与通过应用程序管理对话相比，可以更好地处理用户输入中的暂停。

Amazon Lex V2 机器人不仅会响应您的应用程序发送的数据，还会将有关对话状态的信息发送到您的应用程序。您可以通过该信息来更改应用程序响应客户的方式。

Amazon Lex V2 机器人还会监控该机器人与您的应用程序之间的连接，并可以确定连接是否已超时。

要通过该 API 向 Amazon Lex V2 机器人发起流传输，请参阅 [启动到 Amazon Lex V2 机器人的对话流](start-stream-conversation.md)。

开始从应用程序向 Amazon Lex V2 机器人启动流传输时，您可以将该机器人配置为接受用户的音频输入或文本输入。您还可以选择用户在对他们输入的响应中是接收音频还是文本。

如果您已将 Amazon Lex V2 机器人配置为接受用户的音频输入，则它无法接受文本输入。如果您已将机器人配置为接受文本输入，则用户只能通过书面文本与其通信。

当 Amazon Lex V2 机器人接收流式音频输入时，机器人会确定用户何时开始说话以及何时停止说话。它可以处理用户的任意暂停或中断。它还可以在同一个流中接受 DTMF（双音多频）输入和语音输入。这有助于用户更自然地与机器人互动。您可以向用户提供欢迎消息和提示，也可以允许用户中断这些消息和提示。

当您启动双向流时，Amazon Lex V2 使用 [HTTP/2 协议](https://http2.github.io/)。您的应用程序和机器人以一系列*事件*的形式在单个流中交换数据。事件可以是以下之一：
+ 用户的文本、音频或 DTMF 输入。
+ 应用程序向 Amazon Lex V2 机器人发送的信号，包括表示消息的音频播放已完成，或者用户已断开会话连接。

 有关事件的更多信息，请参阅[启动到 Amazon Lex V2 机器人的对话流](start-stream-conversation.md)。有关如何对事件进行编码的信息，请参阅 [事件流编码](event-stream-encoding.md)。

**Topics**
+ [启动到 Amazon Lex V2 机器人的对话流](start-stream-conversation.md)
+ [事件流编码](event-stream-encoding.md)
+ [允许用户打断 Amazon Lex V2 机器人](interrupt-bot.md)
+ [允许 Amazon Lex V2 机器人在暂停期间等待用户提供更多信息](wait-and-continue.md)
+ [为 Lex V2 机器人配置履行进度更新](streaming-progress.md)
+ [配置超时以使用 Lex V2 机器人捕获用户输入](session-attribs-speech.md)