[Flutter] 音频播放插件 audioplayers 的一个路径坑

Posted 码路工人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Flutter] 音频播放插件 audioplayers 的一个路径坑相关的知识,希望对你有一定的参考价值。

  • pubsepc.yaml 文件

    flutter:
      assets:
        video/video-01.mp4
        video/video-02.mp4
        audio/bg.mp3

    以上关于视频的文件的配置,都能正常播放(使用的 chewie 插件)

    到了 audioplayers 插件,就是不能播,报错:找不到文件资源

    Unable to load asset

  • 也注意到了,区分本地文件与网络文件

    网络用 AudioPlayer,也可以通过指定 isLocal: true 来播放本地文件

    本地文件,用 AudioCache 类。

  • 迷惑之际,寻根源码

    audio_cache.dart

    Future<ByteData> _fetchAsset(String fileName) async {
      return await rootBundle.load('assets/$prefix$fileName');
    }

    看到这,这不是给固定加了个 assets 的路径吗

  • 修改尝试

    flutter:
      assets:
        video/video-01.mp4
        video/video-02.mp4
        assets/audio/bg.mp3

    同时,根目录下也做相同路径
    audio/bg.mp3 -> assets/audio/bg.mp3

播放成功!


以上是关于[Flutter] 音频播放插件 audioplayers 的一个路径坑的主要内容,如果未能解决你的问题,请参考以下文章

[Flutter] 音频播放插件 audioplayers 的一个路径坑

flutter -- 音频播放 audioplayers - 简书

如何获取音频文件的长度而不在 Flutter/Dart 中播放

xcode 上的 Flutter audioplayers 插件错误(未找到模块“audioplayers”)

Flutter监听音量实现波形可视化的音频

在 Flutter 中将音频文件与视频文件合并