【问题标题】:unable to get duration for multiple audio files in flutter无法在颤动中获得多个音频文件的持续时间
【发布时间】:2020-12-20 19:47:46
【问题描述】:

我一直在尝试获取数组中所有音频文件的总持续时间。我正在使用 AudioPlayer (https://pub.dev/packages/audioplayer) 库来播放文件。为了获得音频文件的总时长,我写了这个函数:

calculateTotalDuration() async {
    int count = 0;
    AudioPlayer audioPlayer = AudioPlayer();

    await Future.forEach(audios,
        (MyAuduoData element) async {
      await audioPlayer.setUrl(element.path, isLocal: true);
      int dur = await audioPlayer.getDuration();
      print("Duration: " + dur.toString());
    });
  }

假设我在audios 数组中有三个音频文件数据。当我在调试模式下运行应用程序并在此函数的每一行中放置断点时,它会显示 3 个持续时间输出。但是当我正常运行时,我的意思是调试器没有任何断点,它只显示一个输出。有什么解决办法吗? 谢谢

【问题讨论】:

    标签: flutter


    【解决方案1】:

    ForEach 在异步任务方面存在问题。请改用 for 循环。

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 1970-01-01
      • 2022-01-15
      • 2013-03-01
      • 2012-06-27
      • 2014-02-08
      • 2010-11-17
      • 2020-06-02
      • 1970-01-01
      相关资源
      最近更新 更多