[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

播放成功!



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM