You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Microsoft Bot Framework通过Facebook Messenger发送音频(C#)及问题求助

在C#中通过Microsoft Bot Framework向Facebook Messenger发送音频的解决方案

我帮你梳理两种可行的实现方式,同时解决你用富卡片发送失败的问题:

一、直接发送音频附件

这是最简单直接的方式,Facebook Messenger原生支持通过Attachment对象发送音频文件,核心是确保音频文件公开可访问(Facebook服务器需要能拉取到该文件),并且设置正确的内容类型。

示例代码如下:

using Microsoft.Bot.Schema;

// 创建音频附件
var audioAttachment = new Attachment
{
    ContentType = "audio/mpeg", // 根据你的音频格式调整,比如audio/mp3、audio/wav
    ContentUrl = "https://your-public-domain.com/path/to/your-audio-file.mp3" // 替换为你的公开音频URL
};

// 创建包含附件的消息
var replyMessage = MessageFactory.Attachment(audioAttachment);

// 发送消息
await turnContext.SendActivityAsync(replyMessage, cancellationToken);

注意事项:

  • 音频文件必须放在公开可访问的服务器上,不能用本地路径或者内网地址
  • 支持的音频格式包括MP3、WAV等,对应正确的ContentType

二、修复富卡片(Rich Card)发送音频的问题

你之前用富卡片失败,大概率是因为Media属性的配置有误。以HeroCard为例,需要正确设置Media数组的Url和MediaType,并且确保卡片的结构符合Facebook Messenger的要求。

正确的富卡片代码示例:

using Microsoft.Bot.Schema;

// 创建富卡片
var audioHeroCard = new HeroCard
{
    Title = "你要发送的音频标题",
    Subtitle = "音频描述",
    Media = new List<MediaUrl>
    {
        new MediaUrl
        {
            Url = "https://your-public-domain.com/path/to/your-audio-file.mp3", // 公开音频URL
            MediaType = "audio/mpeg" // 匹配音频格式的媒体类型
        }
    }
};

// 将卡片转为附件
var cardAttachment = audioHeroCard.ToAttachment();

// 创建消息并发送
var replyMessage = MessageFactory.Attachment(cardAttachment);
await turnContext.SendActivityAsync(replyMessage, cancellationToken);

常见错误排查:

  • 未设置MediaType:如果只填了Url没指定MediaType,Facebook可能无法识别这是音频文件
  • 音频URL不可访问:Facebook服务器无法拉取的话,会导致发送失败
  • 使用了不支持的卡片类型:部分卡片类型(比如ThumbnailCard)在Messenger中对音频的支持有限,优先用HeroCard试试
  • Bot Framework版本过旧:确保你引用的Microsoft.Bot.Builder、Microsoft.Bot.Connector包是最新稳定版,旧版本可能存在兼容性问题

如果还是有问题,可以检查Bot Framework的日志,或者查看Facebook Messenger的Webhook回调,确认是否有错误返回信息。

内容的提问来源于stack exchange,提问作者Douglastse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:33:10