类型错误:无法读取未定义的属性(读取“种类”)

问题描述 投票:0回答:1

我正在尝试使用 Microsoft Azure 通信服务创建一个简单的 IVR。我创建了一个函数来接听来电,以及一个函数来处理通话期间的事件,例如播放音频、获取用户输入等。

接听电话时,将播放音频文件。我的这部分功能运行良好。下一部分是用户/呼叫者将听到另一个音频文件,并被要求回答问题。我使用了呼叫自动化包和语音识别,但在获取用户输入时出现以下错误:

“处理事件时出错:TypeError:无法读取未定义的属性(读取'kind')”。

功能如下:

if (eventType === 'Microsoft.Communication.CallConnected') {
            const callConnectionId = eventData.callConnectionId;

            // Play an audio 
            const playSource = { url: "...", kind: "fileSource" };
            await callAutomationClient.getCallConnection(callConnectionId).getCallMedia().playToAll([playSource]);

            // another audio source
            const playSource = { url: "..." kind: "fileSource" };

            const recognizeOptions = {   
                playPrompt: playSource, 
                initialSilenceTimeoutInSeconds: 10, 
                interruptPrompt: true, 
                operationContext: "OpenQuestionSpeech", 
                kind: "callMediaRecognizeSpeechOptions"
            }; 

            await callAutomationClient.getCallConnection(callConnectionId).getCallMedia().startRecognizing(recognizeOptions);

在 recognizeOptions 打字稿的最后一行中,kind 似乎有问题:“callMediaRecognizeSpeechOptions”。我按照使用识别操作收集用户输入CallMediaRecognizeSpeechOptions界面中的说明进行操作,但仍然遇到此错误。

我将不胜感激任何帮助和建议。

javascript azure speech-recognition ivr azure-communication-services
1个回答
0
投票

首先,该行中缺少一个逗号运算符:

const playSource = { url: "..." kind: "fileSource" };

另查看文档,似乎

startRecognizing
函数接受两个参数
targetParticipant
recognizeOptions
,但您传递 recognizeOptions 代替 targetParticipant。尝试解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.