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

Flutter中使用audioplayer包播放录制音频的问题求助

解决audioplayer播放本地录制音频的参数类型错误

你遇到的错误是因为新版本audioplayer(v5及以上)的play方法参数不再接受字符串,而是要求传入Source类型的子类。针对本地录制的音频文件,需要用FileSource来包装文件路径。

修改播放方法的代码

把原来的play方法改成以下形式:

import 'dart:io';
import 'package:audioplayers/audioplayers.dart';

Future<void> play(String filePath) async {
  // 先检查文件是否存在,避免报错
  final audioFile = File(filePath);
  if (await audioFile.exists()) {
    await _audioPlayer.play(FileSource(filePath));
  } else {
    log("录制的音频文件不存在,请检查路径:$filePath");
  }
}

不同场景的Source对应方式

  • 网络音频:使用UrlSource("网络音频地址")
  • 项目资源文件:使用AssetSource("assets/xxx.mp3")
  • 本地文件(比如你录制的音频):使用FileSource("本地文件路径")

额外注意事项

确保recordFilePath是正确的本地文件绝对路径,你可以通过log输出的路径手动验证文件是否存在,避免因路径错误导致播放失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 10:25:00