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

Flutter集成Agora视频通话:实时转字幕无法获取音频的解决方案咨询

Flutter中Agora实时音频转字幕的可行实现方案

方案1:利用Agora SDK的原始音频帧回调直接处理

Agora Flutter SDK提供了获取原始音频数据的回调接口,你可以通过这个接口拿到本地或远端的音频帧,再传给语音转文本(STT)API实现实时字幕。

步骤:

  • 初始化Agora RtcEngine后,调用setAudioFrameCallback注册音频帧回调,指定要获取的是本地采集还是远端接收的音频数据。
  • 在回调中获取PCM格式的原始音频数据,根据你使用的STT API要求(比如采样率、通道数、编码格式)做格式适配。
  • 如果STT API支持流式请求,直接将每帧数据分片发送;如果需要整段音频,可以缓存一小段(比如500ms)后再发送,平衡实时性和识别准确率。

示例代码片段:

import 'package:agora_rtc_engine/agora_rtc_engine.dart';

// 初始化引擎后设置回调
await _rtcEngine.setAudioFrameCallback(
  (AudioFrame frame) {
    // 获取PCM原始数据,frame.buffer是ByteBuffer类型
    final pcmData = frame.buffer.asUint8List();
    // 传递给STT处理逻辑
    _sendToSTTService(pcmData, frame.sampleRate, frame.channels);
  },
  mode: AudioFrameCallbackMode.record, // 本地采集音频;如果要处理远端音频用playback
  sampleRate: 16000, // 匹配STT API常用采样率
  channels: 1, // 单声道
);

void _sendToSTTService(Uint8List pcmData, int sampleRate, int channels) {
  // 这里调用你的STT API,比如流式发送PCM数据
  // 示例:如果用流式STT服务,创建连接后持续发送数据块
  sttStream.write(pcmData);
}

注意:不同STT API对音频格式要求不同,大部分支持16kHz采样率、单声道、16位深度的PCM数据,要提前确认参数并在回调中指定匹配的采样率和通道数。

方案2:通过Agora媒体推流到服务器,后端处理STT

如果不想在客户端处理音频数据,可以利用Agora的Media Push功能,将通话音频流推送到你自己的服务器,在后端完成语音转文本,再将字幕实时推回Flutter客户端。

步骤:

  • 在Agora控制台开启Media Push权限,配置推流地址(RTMP/RTSP)到你的服务器。
  • 客户端调用Agora的startMediaStreamPush方法,将音频流推送到服务器。
  • 服务器接收音频流,转码为STT API支持的格式(比如PCM),调用STT API获取实时字幕。
  • 服务器通过WebSocket或Socket.io将字幕实时发送给Flutter客户端,显示在界面上。

这个方案的优势是客户端无需处理音频格式转换,减轻移动端性能压力;缺点是需要额外的服务器资源,且延迟可能略高于客户端直接处理。

方案3:本地音频采集插件配合Agora同步

如果暂时无法通过Agora回调获取音频,可以用Flutter的第三方音频采集插件(如flutter_sound)同时采集本地麦克风音频,再将音频数据传给STT API,最后通过Agora的通话时间戳对齐字幕和画面。

步骤:

  • 集成flutter_sound等音频采集插件,开启实时本地音频采集,获取PCM数据。
  • 将采集到的音频数据传给STT API生成字幕。
  • 通过Agora的getCurrentTimestamp获取通话时间戳,将字幕与通话时间同步,避免出现字幕延迟或错位。

注意:这个方案可能存在采集同步问题,比如Agora的音频采集和插件采集的时间差,需要做额外的校准,适合快速验证功能,不建议在生产环境使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 17:23:41