当应用程序不在 iOS 前台时,Flutter audio_service 不会启动

问题描述 投票:0回答:1

我一直在构建一个 Flutter 应用程序,需要在后台触发警报。

我将

audio_service
just_audio
(两者的最新版本)结合使用,但只有当应用程序位于前台时触发警报时,我才会听到警报。

我的处理程序总是收到开始播放的回调,并且音频播放器不会抛出任何异常。

我已经尝试使用

IsolatedAudioHandler
类,如常见问题解答中所述,它的行为方式完全相同:只有在前台时才能听到声音。

当用户离开警戒区时,GPS 位置更新会触发警报。

如有任何建议,我们将不胜感激。

这是我的处理程序代码:

class AudioPlayerHandler extends BaseAudioHandler {
  final _player = AudioPlayer();

  AudioPlayerHandler() {
    _player.setUrl("https://s3.amazonaws.com/scifri-episodes/scifri20181123-episode.mp3");
  }

  @override
  Future<void> play() {
    try {
      print("****** play *******");
      return _player.play();
    } catch (e) {
      print(e);
      return Future.value(null);
    }
  }

  @override
  Future<void> pause() {
    return _player.pause();
  }
}```
flutter audio-service
1个回答
1
投票

将“音频”添加到 info.plist 文件中的背景模式

    <key>UIBackgroundModes</key>
    <array>
        <string>audio</string>
    </array>

并尝试像这样使用它 https://github.com/ryanheise/audio_service/tree/minor/audio_service#:~:text=Note%20that%20the,an%20idle%20timer.

© www.soinside.com 2019 - 2024. All rights reserved.