在just_audio中聆听歌曲结尾



我想问,当歌曲结束时,在just_audio flutter包中做一些事情时,是否有任何流可以听,或者有什么方法可以做到这一点?

查看文档,AudioPlayer实例有一个名为playerState或playerStateStream的字段(如果您想侦听事件(。可以使用具有processingState字段的流来侦听playerStateStream。此字段包含您需要的所有信息(这是列表(。如果处理状态已完成,则玩家已完成游戏。


示例:

_player.playerStateStream.listen((playerState) {
if (playerState.processingState == ProcessingState.completed) {
// Some Stuff
}
});

为了增强Afridi的回答:可以订阅另一个流playbackEventStream,以获取播放列表中各个音频源的更新。这是一个如何更新歌曲名称的示例:

player.playbackEventStream.listen((e) => updateCurrentSong());
...
void updateCurrentSong() {
setState(() {
final int index = player.currentIndex ?? 0;
currentSong = "${player.audioSource?.sequence[index].tag}";
});
}

相关内容

  • 没有找到相关文章