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

如何获取OpenAI Whisper文档并实现Flutter集成?

将OpenAI Whisper集成到Flutter项目的可行方案

利用现有Flutter包快速集成

你找到的whisper_dart是当前Flutter生态中对接Whisper的核心包,支持本地模型加载和语音转文本功能,步骤如下:

  1. 在pubspec.yaml中添加依赖:
    dependencies:
      whisper_dart: ^最新版本号
    
  2. 下载Whisper预训练模型(如tiny.en、base),放入项目assets目录,在pubspec.yaml中声明资源:
    assets:
      - assets/models/tiny.en.bin
    
  3. 初始化模型并转录语音:
    import 'package:whisper_dart/whisper_dart.dart';
    
    void main() async {
      final whisper = Whisper();
      // 加载本地模型
      await whisper.loadModel('assets/models/tiny.en.bin');
      // 转录音频文件(支持wav格式)
      final transcription = await whisper.transcribe('assets/audio/sample.wav');
      print(transcription);
    }
    

替代方案:调用OpenAI Whisper API

如果本地模型性能无法满足需求,可直接调用云端API,无需部署本地模型,示例代码(使用dio包):

import 'package:dio/dio.dart';
import 'package:path/path.dart';

Future<String> transcribeViaApi(String audioFilePath, String apiKey) async {
  final dio = Dio();
  final formData = FormData.fromMap({
    'file': await MultipartFile.fromFile(
      audioFilePath,
      filename: basename(audioFilePath),
    ),
    'model': 'whisper-1',
  });

  final response = await dio.post(
    'https://api.openai.com/v1/audio/transcriptions',
    headers: {'Authorization': 'Bearer $apiKey'},
    data: formData,
  );

  return response.data['text'];
}

进阶方案:平台原生集成

追求极致性能的话,可分别针对iOS和Android集成Whisper原生库:

  • iOS:使用Whisper的Core ML版本,通过MethodChannel与Flutter通信
  • Android:使用Whisper的TensorFlow Lite版本,同样通过MethodChannel交互
    这种方式需要具备原生开发能力,但能获得更好的运行效率。

关键注意事项

  • 本地模型选择:tiny模型体积小、加载快,适合移动端;larger模型精度高,但占用资源多,需根据需求权衡
  • 权限配置:安卓需添加录音、文件读取权限;iOS需在Info.plist中声明麦克风使用权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 13:02:18