pause method

Future<void> pause()

Implementation

Future<void> pause() async {
  await _nativeSetup.future;
  if (isPlayable()) {
    var pausePosition = _currentPos;
    try {
      final nativePosition = await _channel.invokeMethod<int>(
        "getCurrentPosition",
      );
      if (nativePosition != null && nativePosition >= 0) {
        pausePosition = Duration(milliseconds: nativePosition);
      }
    } on PlatformException {
      // 读取原生位置失败时使用最近一次位置回调值。
    }
    _explicitPausePosition = pausePosition;
    FLog.i("$this invoke pause");
    await _channel.invokeMethod("pause");
  } else {
    FLog.e("$this invoke pause invalid state:$state");
    return Future.error(StateError("call pause on invalid state $state"));
  }
}