【问题标题】:How to implement audio service with audioplayers flutter如何使用音频播放器颤振实现音频服务
【发布时间】:2022-01-20 15:42:30
【问题描述】:

下面的代码显示了我如何在没有音频服务的情况下使用音频播放器

playFromFile(List textList, seek) async {
    for (int i = seek; i < textList.length; i++) {
      setState(() {
        newSeek = i;
      });
      itemScrollController.scrollTo(
          index: i,
          duration: const Duration(seconds: 2),
          curve: Curves.easeInOutCubic);
      String text = textList[i].join(' ');
      final bytes = await getAudio(text);
      await audioPlugin.playBytes(bytes);
      while (audioPlugin.state == PlayerState.PLAYING && !playFresh) {
        await Future.delayed(const Duration(seconds: 1));
        if (audioPlugin.state == PlayerState.PLAYING) {
          audioPlugin.onPlayerCompletion.listen((onDone) async {
            audioPlugin.state = PlayerState.COMPLETED;
            await audioPlugin.release();
          });
        }
        if (audioPlugin.state == PlayerState.COMPLETED) {
          await audioPlugin.release();
          break;
        }
      }

      if (playFresh) break;
    }
  }

我想使用音频服务来实现这个代码,这样我就可以在后台播放音频。如何使用音频服务实现此功能,以便在后台播放。请帮忙,因为我是新来的,并且几天都无法解决这个问题。

【问题讨论】:

标签: android flutter dart audio-service


【解决方案1】:

解决方案将非常简单。 您可以使用不同的层来实现这一点。

UI 层 - 这将是您单击播放按钮的界面。

中间层或音频服务层(音频服务类) - 从您的 UI 层,您将调用此音频服务类播放方法。

最后一层(实际音频播放器方法)- 这将是您的实际音频包方法所在的最后一层。您从中间层调用了这一层。

总结-UI层播放按钮->音频服务播放方法->音频播放器播放方法

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 2020-11-02
    • 2019-03-18
    • 2022-08-21
    • 2021-10-06
    • 2021-10-12
    相关资源
    最近更新 更多