currentPositionStream property
Implementation
Stream<int> get currentPositionStream {
final controller = StreamController<int>();
Timer.periodic(Duration(seconds: 1), (timer) async {
try {
if (await isPlaying()) {
final pos = await currentPosition();
controller.add(pos ?? 0);
} else {
controller.done;
timer.cancel();
}
} catch (e) {
timer.cancel();
controller.addError(e);
}
});
return controller.stream;
}