Source
Future<Null> play() async { if (isDisposed) { return; } await _channel.invokeMethod('play', {'textureId': _textureId}); timer = new Timer.periodic(const Duration(milliseconds: 500), (Timer timer) async { if (isDisposed) { return; } value = value.copyWith(position: await position); }); value = value.copyWith(isPlaying: true); }