首页 > 解决方案 > 在机器人中获取 Skype 语音笔记

问题描述

我正在用 C# 为 Skype 开发一个机器人,我的问题是我想将可以通过电话发送的语音笔记(带有麦克风图标)转换为文本,但我无法获得该音频。

在我收到的 activity.attachment 的属性中,我看到了以下内容:

ContentType: audio
Content:
ContentURL: https://smba.trafficmanager.net/apis/v3/attachments/0-weu-d9-734cab9e78c28a1619a39ce8c69342d1/views/original
Name: 2-audioMessage.m4a
Properties: {}
ThumbnailUrl: https://smba.trafficmanager.net/apis/v3/attachments/0-weu-d9-734cab9e78c28a1619a39ce8c69342d1/views/thumbnail

它似乎保存在状态中。

是否有任何解决方案可以获取音频文件以便稍后将其发送到文本到语音 API?

我不想使用音频通话,因为目前实现起来非常复杂。

谢谢。

标签: c#visual-studioazurebotframeworkskype

解决方案


我假设您必须完成以下设置才能使用回调 URL 将其转换为文本:

1) 在Microsoft Bot Framework Portal中注册您的机器人。有关说明,请参阅。完成注册后,使用注册的配置值(Bot Id、MicrosoftAppId 和 MicrosoftAppPassword)更新Bot 的 Web.config文件。

2) 启用 Skype 频道并通过启用 1:1 音频 cals 并将 Calling Webhook 更新为 https:://{your domain}/api/calling/call 来更新设置。有关如何配置通道的更多信息,请参阅此内容。

3)使用回调路由 https://{yourdomain}/api/calling/callback更新 Bot Web.config文件的 Microsoft.Bot.Builder.Calling.CallbackUrl 设置。

4)在此处订阅 Microsoft Cognitive Services Bing Speech API以获取使用该 API 的密钥。使用获取的密钥更新 Bot Web.config的 MicrosoftSpeechApiKey 设置。

在以下 repo 中,您可以找到相同的完整实现。

https://github.com/jj116/skype-CallingBot/blob/ac913ab484fcdaf1933bfd230b60041ab10ff3f1/IVRBot.cs

希望能帮助到你。


推荐阅读