我一直在构建一个需要在后台触发警报的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();
}
}```
在你的信息中添加'audio'到背景模式。plist文件
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>
试着这样使用它https://github.com/ryanheise/audio_service/tree/minor/audio_service: ~:文本=注意% 20 % 20,一个% 20闲置% 20计时器。