Sdílet prostřednictvím


Přidání řeči do zpráv pomocí rozhraní API konektoru robota

Pokud vytváříte robota pro kanál s podporou řeči, můžete vytvářet zprávy, které určují text, který má robot vyslovit. Můžete se také pokusit ovlivnit stav mikrofonu klienta zadáním vstupní nápovědy , která označuje, jestli robot přijímá, očekává nebo ignoruje vstup uživatele.

Robota můžete nakonfigurovat tak, aby s ním klientské aplikace mohly komunikovat prostřednictvím kanálu Direct Line Speech.

Určení textu, který má robot vyslovovat

Pokud chcete zadat text, který má robot vyslovovat v kanálu s podporou řeči, nastavte speak vlastnost v objektu Activity , který představuje vaši zprávu. Vlastnost můžete nastavit speak buď na řetězec ve formátu prostého textu, nebo řetězec, který je formátovaný jako jazyk SSML (Speech Synthesis Markup Language), který je založený na jazyce XML, který umožňuje řídit různé charakteristiky řeči robota, jako je hlas, rychlost, hlasitost, výslovnost, tón a další. Pokud kanál nepodporuje, zpráva se doručí jako text.

Následující požadavek odešle zprávu, která určuje text, který se má zobrazit, a text, který se má vyslovovat, a indikuje, že robot očekává vstup uživatele. Určuje speak vlastnost pomocí formátu SSML , který označuje, že slovo "jistota" by mělo být vysloveno se střední mírou důrazu. V tomto příkladu požadavku Direct Line představuje základní identifikátor URI; základní identifikátor URI pro požadavky, které se můžou lišit problémy s robotem. Podrobnosti o nastavení základního identifikátoru URI najdete v referenčních informacích k rozhraní API.

POST https://smba.trafficmanager.net/teams/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"
}

Nápovědy pro zadávání

Když odešlete zprávu na kanál s podporou řeči, můžete vyjádřit zamýšlený stav mikrofonu klienta tím, že zahrnete také vstupní nápovědu, která označuje, jestli robot přijímá, očekává nebo ignoruje vstup uživatele. Další informace najdete v tématu Přidání vstupních tipů ke zprávám.

Další materiály