首页 > 解决方案 > 如何在手机屏幕关闭时使用 Flutter 播放声音

问题描述

@override
  void initState() {
    super.initState();
    _player = AudioPlayer();
    _player.setAsset('assets/audio/sample.mp3');

    _controller.addStatusListener((status) {
      if(status == AnimationStatus.completed) {
        _player.play();
      }
    });
  }

我是 Flutter 的新手,我正在努力让它在我制作的动画计时器结束时播放 mp3 通知声音。

我目前只在开发 Android 应用程序。上面的代码显示我在initState中为动画完成状态设置了一个状态监听器。屏幕打开时它可以正常工作,但如果屏幕关闭,则在屏幕再次解锁之前不会播放声音。

我正在使用just_audio pub dev 包来让音频工作,并且一直在寻找audio_service pub dev 包作为尝试让它工作的一种方式。我发现集成 audio_service 有点令人困惑,因为它看起来好像是为了比我需要的更大的东西。有没有一种简单的方法来解决我想要的所有这些?

标签: flutterdart

解决方案


如果您需要更好的队列管理,我仍然强烈推荐您使用 audio_service,无论如何,flutter_sound最近添加了带有后台支持和非常容易集成的flauto 。


推荐阅读