当前位置: 首页 > news >正文

深入解析:flutter AudioPlayer的使用问题及处理

  1. 无法播放本地音频文件AssetSource,报错找不到assets/…
    原因: 播放本地资源时,默认情况下,每个 AudioPlayers 实例都会使用一个共享的全局 AudioCache 实例,该实例会根据 Flutter 的约定配置一个默认前缀“/assets”。
    这就要求 本地资源文件需要放在assets文件夹下.类似下文件结构,并且需要在pubspec.yaml申明资源文件
your_flutter_project/
├── assets/
│   └── audio/
│       └── click.mp3
├── lib/
└── pubspec.yaml

在pubspec.yaml中申明资源

flutter:
assets:
- assets/audio/

这样就能正常加载.当然这是只能在主项目中这么处理,但在module中就会出问题.
你即便清楚的写明了所属module及位置如下:
AssetSource assetSource = AssetSource(“packages/common/assets/blinking_stars.mp3”);
加载时会报错找不到 assets/packages/common/assets/blinking_stars.mp3,还是强制前缀惹的祸.

那有没有办法去除AssetSoure的前缀呢?或者改下前缀?

有的.我也是各种翻找后,还是从github的AudioPlayer的项目备注里发现的.
将处理办法摘录如下:
a.删除所有player实例的资产前缀:

AudioCache.instance = AudioCache(prefix: '')
final player = AudioPlayer();
await player.play(AssetSource('assets/audio/my-audio.wav'));

b.仅为一个player实例设置不同的前缀(例如,当使用来自另一个包的资产时):

final player = AudioPlayer();
player.audioCache = AudioCache(prefix: 'packages/OTHER_PACKAGE/assets/')
await player.play(AssetSource('other-package-audio.wav'));

个人推荐采用a方法.后续的使用就直接写明位置.
这样主项目里的就直接AssetSource(‘assets/audio/my-audio.wav’)
module里的就直接写明位置包名就行AssetSource(‘packages/OTHER_PACKAGE/assets/other-package-audio.wav’)

摘录自

http://www.jsqmd.com/news/13114/

相关文章:

  • 11 10.10
  • 12 10.11
  • P3330 [ZJOI2011] 看电影
  • 09 面向对象基础概念的总结
  • 20232315 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • CSP-S 2025 提高级模拟赛 Day6 复盘 B.连通子图
  • 新手村程序
  • 基于Java的家政服务管理优秀的系统的设计与完成-计算机毕设 附源码05300
  • Android Camera openCamera - 教程
  • 信号与系统
  • 大作业第一阶段验收小组集体加5分 -
  • 业务定义与指标体系搭建
  • Linux使用笔记
  • [Vulhub靶机]W1R3S靶机渗透
  • 基于zynq实现一个边缘识别视频流(预学习HLS篇)
  • centos7 离线安装mysql8 并建立主从架构
  • 2025/10/13
  • 项目计划管理实战:从“纸上谈兵”到“动态导航”的艺术 - 实践
  • 设计文档规范
  • 实用指南:Apache Doris 4.0 AI 能力揭秘(二):为企业级应用而生的 AI 函数设计与实践
  • QAxios研发笔记(一):在Qt环境下,构建Promise风格的Get请求接口 - 指南
  • 咬鼠
  • 10月13日日记
  • 【知识总结】数据库的事务、并发与锁管理
  • 描述https的加密过程
  • CSP-S 2025 提高级模拟赛 Day6 复盘 A.选择方案
  • “不要通过共享内存来通信”——深入理解Golang并发模型与CSP理论
  • SSL证书批量申请终极指南:一次搞定所有域名
  • 详细介绍:百度C++实习生面试题深度解析(下篇)
  • PDF转图片工具:基于PyQt5的完整实现与深度解析 - 详解