c# - 在机器人中获取 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?
我不想使用音频通话,因为目前实现起来非常复杂。
谢谢。
解决方案
我假设您必须完成以下设置才能使用回调 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
希望能帮助到你。
推荐阅读
- ios - 如何在单元格内容视图中显示标签?
- ms-access - 来自查询的访问报告莫名其妙地增加了列
- r - 使用西班牙语字符(á、é、í、ó、ú、ñ 等)将 .sql 读入 R
- jupyter-notebook - 如何在 haproxy 后面运行 jupyter notebook 并公开其内容?
- javascript - 如何打开带有标签的日期选择器不使用触发器?
- c# - 在 C# 中进行并行调用 - 如何识别哪个调用失败
- django-rest-framework - Django Rest 框架错误 HTTP 405 方法不允许方法 GET
- google-api - 谷歌日历,获取活动天数
- node.js - Spotify API 授权重定向太多次
- python - 如何使用并行编程更快地运行 scipy 的 ndimage.generic_filter()?