Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振-如何知道音频服务已停止?_Flutter_Flutter Ios_Flutter Android - Fatal编程技术网

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)){
//采取行动
}
});