Flutter 颤振-如何知道音频服务已停止?
我正在使用颤振软件包。如果音频服务停止,我想弹出一个播放器页面。如何让音频服务停止事件?我没有找到任何事件来检查服务是否已停止Flutter 颤振-如何知道音频服务已停止?,flutter,flutter-ios,flutter-android,Flutter,Flutter Ios,Flutter Android,我正在使用颤振软件包。如果音频服务停止,我想弹出一个播放器页面。如何让音频服务停止事件?我没有找到任何事件来检查服务是否已停止AudioService。运行将在服务运行时发出true,而在服务未运行时发出false 要在它从true变为false时收听,您可以尝试以下操作: //将runningStream从动态转换为正确的类型。 最终运行流= AudioService.runningStream作为ValueStream; //两两听流,观察流何时变假 runningStream.pairwi
AudioService。运行
将在服务运行时发出true
,而在服务未运行时发出false
要在它从true
变为false
时收听,您可以尝试以下操作:
//将runningStream从动态转换为正确的类型。
最终运行流=
AudioService.runningStream作为ValueStream;
//两两听流,观察流何时变假
runningStream.pairwise().listen((对){
最终WASRUNING=配对第一;
最终isRunning=配对最后一次;
如果(正在运行&!正在运行){
//采取行动
}
});
如果您想收听停止
播放状态,则需要确保后台音频任务在桌面
中实际发出该状态更改:
@覆盖
Future onStop()异步{
等待_player.dispose();
//“等待”很重要
等待AudioServiceBackground.setState(
processingState:AudioProcessingState.stopped);
//关闭此任务
等待super.onStop();
}
这样,您可以在UI中侦听此状态:
AudioService.playbackStateStream.listen((状态){
if(state.processingState==AudioProcessingState.stopped)){
//采取行动
}
});