Flutter - 无法下载音频文件

Posted

技术标签:

【中文标题】Flutter - 无法下载音频文件【英文标题】:Flutter - cannot download audio files 【发布时间】:2021-08-17 10:05:12 【问题描述】:

我尝试解决使用 Flutter 应用程序下载音频文件的问题已经 3 天了。当我尝试下载音频文件时,请求保持“待处理”状态并正常完成。

我进行了很多研究,并找到了关于始终为 0 的客户的 contentLength 的一些信息,但无济于事。

现在我尝试使用示例音频文件向网站发出获取请求,但它也不起作用。我已经通过 Postman 进行了测试,它始终有效。

我的功能:

Future<void> _download(String url, String filepath) async 
    final response = await this.get("https://file-examples-com.github.io/uploads/2017/11/file_example_MP3_700KB.mp3");// await this.get("$baseURL$url");

    log("Try to get audio files: $response.isOk");

    if (response.isOk) 
      File file = File(filepath);
      final raf = file.openSync(mode: FileMode.write);

      response.bodyBytes.listen((value) 
        raf.writeFromSync(value);
      , onDone: () 
        log("closed $filepath");
        raf.closeSync();
      );
    
  

response.isOk 始终为false

我从使用 httpClient 的GetX package 中使用了GetConnect

通过 Dart devtools 我从请求中获得了这个:

https://prnt.sc/1q3w33z https://prnt.sc/1q3x9ot

【问题讨论】:

【参考方案1】:

所以我使用了另一个包:Dio,现在它可以工作了。

【讨论】:

以上是关于Flutter - 无法下载音频文件的主要内容,如果未能解决你的问题,请参考以下文章

Flutter pubspec.yaml,音频播放器无法正常工作

Flutter webrtc音频无法在android上运行

如何在 Flutter 中实现音频流应用和安全存储

Flutter - 无法从 Webview 下载文件

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

Flutter获取音频文件的时长