Hinzufügen von Sprache zu Nachrichten mit der Bot Connector-APIAdd speech to messages with the Bot Connector API

Wenn Sie einen Bot für einen sprachfähigen Kanal erstellen, können Sie Nachrichten erstellen, die den Text angeben, der von Ihrem Bot gesprochen werden soll.If you are building a bot for a speech-enabled channel, you can construct messages that specify the text to be spoken by your bot. Sie können auch versuchen, den Status des Mikrofons des Clients zu beeinflussen, indem Sie einen Eingabehinweis angeben, um festzulegen, ob Ihr Bot Benutzereingaben akzeptiert, erwartet oder ignoriert.You can also attempt to influence the state of the client's microphone by specifying an input hint to indicate whether your bot is accepting, expecting, or ignoring user input.

Sie können Ihren Bot so konfigurieren, dass Clientanwendungen über den Direct Line Speech-Kanal damit kommunizieren können.You can configure your bot to allow client applications to communicate with it through Direct Line Speech channel.

Angeben des vom Bot zu sprechenden TextsSpecify text to be spoken by your bot

Um Text anzugeben, der von Ihrem Bot auf einem sprachaktivierten Kanal gesprochen werden soll, legen Sie die speak-Eigenschaft im Activity-Objekt fest, das Ihre Nachricht darstellt.To specify text to be spoken by your bot on a speech-enabled channel, set the speak property within the Activity object that represents your message. Sie können die speak-Eigenschaft entweder auf eine Nur-Text-Zeichenfolge oder eine als Speech Synthesis Markup Language (SSML) formatierte Zeichenfolge verwenden. Bei SSML handelt es sich um eine XML-basierte Markupsprache, mit der Sie verschiedene Eigenschaften der Sprache Ihres Bots steuern können, wie z. B. Stimme, Geschwindigkeit, Lautstärke, Aussprache, Tonhöhe und mehr.You can set the speak property to either a plain text string or a string that is formatted as Speech Synthesis Markup Language (SSML), an XML-based markup language that enables you to control various characteristics of your bot's speech such as voice, rate, volume, pronunciation, pitch, and more. Unterstützt der Kanal dies nicht, wird die Nachricht als Text übermittelt.If the channel does not support, the message is delivered as text.

Die folgende Anforderung sendet eine Nachricht, die den anzuzeigenden Text und den zu sprechenden Text festlegt und angibt, dass der Bot Benutzereingaben erwartet.The following request sends a message that specifies text to be displayed and text to be spoken and indicates that the bot is expecting user input. Dabei wird die speak-Eigenschaft unter Verwendung des SSML-Formats festgelegt, um anzugeben, dass das Wort „sicher“ mit mäßiger Betonung gesprochen werden soll.It specifies the speak property using SSML format to indicate that the word "sure" should be spoken with a moderate amount of emphasis. In dieser Beispielanforderung stellt Direct Line den Basis-URI dar. Der Basis-URI für Anforderungen, die Ihr Bot ausgibt, kann ein anderer sein.In this example request, Direct Line represents the base URI; the base URI for requests that your bot issues may be different. Weitere Informationen zum Festlegen des Basis-URI finden Sie in der API-Referenz.For details about setting the base URI, see API Reference.

POST https://smba.trafficmanager.net/apis/v3/conversations/abcd1234/activities/5d5cdc723
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{
    "type": "message",
    "from": {
        "id": "12345678",
        "name": "sender's name"
    },
    "conversation": {
        "id": "abcd1234",
        "name": "conversation's name"
   },
   "recipient": {
        "id": "1234abcd",
        "name": "recipient's name"
    },
    "text": "Are you sure that you want to cancel this transaction?",
    "speak": "<speak version=\"1.0\" xmlns=\"http://www.w3.org/2001/10/synthesis\" xml:lang=\"en-US\">Are you <emphasis level=\"moderate\">sure</emphasis> that you want to cancel this transaction?</speak>",
    "inputHint": "expectingInput",
    "replyToId": "5d5cdc723"
}

EingabehinweiseInput hints

Wenn Sie eine Nachricht in einem sprachaktivierenden Kanal senden, können Sie den beabsichtigten Zustand des Mikrofons des Clients ausdrücken, indem Sie auch einen Eingabehinweis einschließen, um anzugeben, ob Ihr Bot Benutzereingaben akzeptiert, erwartet oder ignoriert.When you send a message on a speech-enabled channel, you can express the intended state of the client's microphone by also including an input hint to indicate whether your bot is accepting, expecting, or ignoring user input. Weitere Informationen finden Sie unter Hinzufügen von Eingabehinweisen zu Nachrichten.For more information, see Add input hints to messages.

Zusätzliche RessourcenAdditional resources